我正在尝试使用通常的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财产,以避免与动画的一些冲突。这似乎没有任何区别。
在此先感谢您的帮助!