我正在嘗試使用通常的UIView類方法來動畫一些東西。我使用流行的iCarousel庫調用這些動畫方法。當我滾動旋轉木馬時,動畫立即進入完成狀態並調用完成功能(忽略動畫的持續時間)。 finished
布爾值爲true,所以看起來不像動畫被中斷。核心動畫立即調用完成函數
當我在iCarousel的委託方法之外觸發這些動畫時,它們可以工作。我不打算修理iCarousel,也不會認爲它有什麼問題。我更加好奇,裏面的代碼可能會導致我的動畫立即完成。我能做些什麼來避免這個問題。
下面是一個例子:
- (void)carouselCurrentItemIndexDidChange:(iCarousel *)carousel {
[UIView
animateWithDuration:5.0f
delay:0
options:
UIViewAnimationOptionCurveEaseOut |
UIViewAnimationOptionOverrideInheritedDuration |
UIViewAnimationOptionOverrideInheritedCurve
animations:^{
myView.alpha = 0;
}
completion:^(BOOL finished){
NSLog(@"Completed. Did it finish? %i", finished);
}];
}
最後的細節:
iCarousel的文件中提到,您可以更改輪轉的useDisplayLink財產,以避免與動畫的一些衝突。這似乎沒有任何區別。
在此先感謝您的幫助!