2012-01-14 29 views
6

Tôi đang cố gắng tìm cách phát hiện xem chế độ xem có đang hoạt ảnh hay không.Có cách nào để phát hiện hoạt ảnh đang chạy trong iOS không?

Trường hợp điểm: Tôi đã áp dụng một bóng trên lớp chế độ xem, chỉ định shadowPath cho hiệu suất. Khi chế độ xem được thay đổi kích thước, bóng sẽ hoạt ảnh dọc theo. Tôi có thể quan sát khung của khung nhìn và thay đổi shadowPath của lớp đó cho phù hợp. Nhưng trong khi chế độ xem đang thay đổi kích thước, bóng sẽ nhảy lên phía trước vì thay đổi không hoạt ảnh.

Tôi biết cách tạo hiệu ứng ShadowPath bằng cách sử dụng CABasicAnimation, nhưng tôi cần biết các thuộc tính của hoạt ảnh liên tục để tôi có thể áp dụng chúng cho hoạt ảnh của mình (chủ yếu là: thời lượng, giãn).

Đây là một thành phần kiểu khung, vì vậy tôi không thể giả định rằng tôi biết thời lượng và giảm bớt các thuộc tính trước đó.

Có cách nào để phát hiện hoạt ảnh bắt đầu/chạy khi quan sát khung không?

Trả lời

12

Bạn có thể lấy tất cả các hình ảnh động kèm theo một lớp cụ thể quan điểm của biết nó là chìa khóa bằng cách gọi

[yourView.layer animationForKey:@"key"] 

để có được tất cả các phím có một số hình ảnh động cho, gọi

NSArray* keys = [yourView.layer animationKeys]; 
+0

Rất tuyệt. Cảm ơn! – Inferis

0

Tôi nghĩ rằng việc thực hành tốt nhất nên be ....

UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.7]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 

.....your code 
// Set animation did stop selector before committing the animations 

[UIView setAnimationDidStopSelector:@selector(animationFinished:)]; 

[UIView commitAnimations]; 
Các vấn đề liên quan