所以我在这里有这个代码:
[UIView animateWithDuration:1 delay:1.0 options: UIViewAnimationCurveEaseInOut
animations:^{[obstacle setFrame:CGRectMake(100, 100, 60, 60)];}
completion:^(BOOL finished){}];
此代码不执行任何操作,也不会抛出任何错误。障碍物是一个链接到我的一个图像的ImageView。
另外,UIViewAnimationCurveEaseInOut在XCode中给我一个黄色警告。
如何修复代码以使此动画正常工作?
答案 0 :(得分:0)
使用UIViewAnimationOptionCurveEaseInOut
而非UIViewAnimationCurveEaseInOut
。第一个是动画选项,而你正在使用的是第二个,是一个动画曲线。
[UIView animateWithDuration:1
delay:1.0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
[obstacle setFrame:CGRectMake(100, 100, 60, 60)];
}completion:nil];
不要混淆ENUM
。在核心,它们都是NSInteger
s(一个是签名的,其他是无符号的),但两者都是可接受的,因此编译器不会给你一个警告/错误。
您可以通过在UIInterfaceOrientationMaskPortrait
块中传递options
来测试这一点,编译器仍然不会给出任何错误/警告,因为这也是NSUInteger
。