biegnę funkcję pulsować ikona Play:animateWithDuration: delay: options: animations: completion: blocking UI podczas używania z 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) {}];
}
Działa to doskonale w iOS 5.0, ale w 4.3 Blokuje ona UI. Interfejs użytkownika nie odpowiada. Przeczytałem, że był to sugerowany sposób powtarzania animacji w systemie iOS w wersji 4.0 lub wyższej (> = 4.0). Winowajcą wydaje się być UIViewAnimationOptionRepeat
. Czy widzisz jakieś oczywiste błędy, które robię?
Właśnie natknąłem się na ten sam problem. Nie testowałem na iOS 4.3 do dziś. Z jakiegoś powodu wydaje się, że UIViewAnimationOptionAllowUserInteraction ma wartość true dla systemu iOS 5 i nowszych wersji. – jowie