2012-01-24 17 views
9

Tôi đang chạy một chức năng để xung một biểu tượng chơi:animateWithDuration: delay: options: animations: completion: chặn giao diện người dùng khi được sử dụng với UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse

- (void)pulsePlayIcon { 
    if ([self isPlaying]) { 
     return; 
    } 

    [[self videoView] playIcon].hidden = NO; 
    [[self videoView] playIcon].alpha = 1.0; 

    [UIView animateWithDuration:[self playIconPulseDuration] 
          delay:[self playIconPulseTimeInterval] 
         options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionAutoreverse) 
        animations:^{ 
         [[self videoView] playIcon].alpha = 0.8; 
        } 
        completion:^(BOOL completed) {}]; 
} 

này hoạt động tuyệt vời trong iOS 5.0, nhưng trong 4.3 nó ngăn chặn các giao diện người dùng. Giao diện người dùng không phản hồi. Tôi đọc rằng đây là cách được đề xuất để lặp lại hoạt ảnh trong iOS phiên bản 4.0 trở lên (> = 4.0). Thủ phạm có vẻ là UIViewAnimationOptionRepeat. Bạn có thấy bất kỳ lỗi rõ ràng nào tôi đang thực hiện không?

+0

Tôi chỉ gặp vấn đề tương tự này. Tôi chưa thử nghiệm trên iOS 4.3 cho đến ngày hôm nay. Đối với một số lý do, nó sẽ xuất hiện rằng UIViewAnimationOptionAllowUserInteraction được đặt thành true cho iOS 5 trở lên. – jowie

Trả lời

11

Có thể bạn cũng nên bao gồm cả UIViewAnimationOptionAllowUserInteraction.

+0

Hoàn hảo. Cảm ơn bạn. – schellsan

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