2011-12-12 25 views
5

Tôi đang sử dụng hoạt ảnh UIView để thay đổi kích thước và dịch chế độ xem có chứa nhiều bản xem trước. Hoạt ảnh cho chế độ xem gốc diễn ra hoàn hảo; tuy nhiên, các cuộc phỏng vấn thể hiện hành vi kỳ lạ. Khi hoạt ảnh bắt đầu, các bản xem trước được thay đổi kích thước ngay lập tức và sau đó chuyển đến vị trí cuối cùng của chúng.UIView thay đổi kích thước và dịch hoạt ảnh không animate các bản xem trước chính xác

Ví dụ: nếu thời lượng và độ trễ của hoạt ảnh là năm giây, ngay khi hoạt ảnh được gọi, các bản xem trước sẽ chuyển sang giá trị kết thúc hoạt ảnh mong muốn. Sau năm giây, giám sát sẽ được thay đổi kích thước và dịch sang mong muốn.

Mã của tôi cho hình ảnh động là:

[UIView animateWithDuration:0.5 animations:^{ 
    if (UIDeviceOrientationIsLandscape(self.interfaceOrientation)) { 
     self.leftPaneView.frame = leftPaneLandscapeFrame; 
     self.rightPaneContainerView.frame = rightPaneLandscapeFrame; 
    } 
    if (UIDeviceOrientationIsPortrait(self.interfaceOrientation)) { 
     CGFloat offset = 300; 
     self.leftPaneView.frame = CGRectOffset(leftPanePortraitFrame, -offset, 0); 
     self.rightPaneContainerView.frame = rightPanePortraitFrame; 
    } 
}]; 

Bất kỳ ý tưởng?

Lưu ý: rightPaneContainerView chứa chế độ xem của UIViewController là con của trình điều khiển chế độ xem gọi hoạt ảnh này.

+1

Tôi đã xem mã của bạn và tôi không thể tạo lại vấn đề của bạn. Vì đây chỉ là một phần của một hình động lớn hơn, tôi hình dung vấn đề phải làm với toàn bộ chuỗi sự kiện. Nếu bạn có thể, hãy chia sẻ nhiều mã hơn, và có lẽ một cái gì đó sẽ tự tiết lộ. – GrimmRanger

+0

Cảm ơn bạn đã xem xét nội tạng. Chế độ nội dung cho các cuộc phỏng vấn nhảy được thiết lập sang trái gây ra lỗi khó chịu trong hoạt ảnh. Một sai lầm nghiệp dư về phía tôi. – Eytan

Trả lời

7

Tôi đã giải quyết được vấn đề. Chế độ nội dung cho một số chế độ xem được đặt thành Trái. Khi hoạt ảnh bắt đầu, lượt xem sẽ nhảy sang trái và sau đó được làm động tới giá trị kết thúc hoạt ảnh mong muốn.

Lỗi nghiệp dư. Cảm ơn tất cả mọi người đã xem xét.

+0

Bắt tốt! Vui vì bạn đã giải quyết nó và cảm ơn bạn đã đăng giải pháp của mình! – GrimmRanger

+0

Có cùng một vấn đề, cảm ơn. – Anastasia

+0

Vậy bạn đã chọn 'contentMode' nào? – Colas

Các vấn đề liên quan