我被一个非常简单的任务难住了,我想要一个UIView动画来实现缓入/缓出效果,但是尽管使用了正确的animationOption,它始终是线性的。
这里是代码,按照所有账户应该可以工作,它设置在一个UIViewControllerAnimatedTransitioning类中,但是我在之前的自定义segue类中也遇到了同样的问题;
[UIView animateWithDuration:0.4f delay:0.0f options:UIViewAnimationOptionCurveEaseInOut animations:^(void) {
self.dimView.alpha = 1.0;
self.imageView.frame = self.destinationRect;
} completion:^(BOOL finished) {
[self.imageView removeFromSuperview];
[self.dimView removeFromSuperview];
[transitionContext completeTransition:YES];
}];
然而,以下代码的弹簧动画可以工作,尽管我不想这样做。
[UIView animateWithDuration:0.8f delay:0 usingSpringWithDamping:0.7f initialSpringVelocity:2.0f options:UIViewAnimationOptionCurveEaseInOut animations:^(void) {
self.dimView.alpha = 1.0;
self.imageView.frame = self.destinationRect;
} completion:^(BOOL finished){
[self.imageView removeFromSuperview];
[self.dimView removeFromSuperview];
[transitionContext completeTransition:YES];
}];
我在模拟器和iPad2测试设备上都遇到了同样的问题。 我做错了什么吗? 在动画帧或透明度值方面有什么问题吗?