问题是我在表格视图单元格中有一个简单的视图动画,但是当我在iPhone 6模拟器中运行时效果很好,但是当我在iPhone 5中运行时,模拟器不起作用。此外,旋转方向在iOS 5中不起作用,但在iOS 6中起作用。我已经验证了这些方法没有被弃用。我检查了一切,但没有任何改变。
事实上,在iOS 6中一切正常但在iOS 5中不起作用,但不会崩溃,只是不起作用。
使用代码编辑:
[UIView beginAnimations:@"HideRow" context:nil];
[UIView setAnimationDuration:0.3];
scrollView.contentOffset = CGPointMake(0, 0);
[UIView commitAnimations];
答案 0 :(得分:0)
我真的怀疑你支持iOS 3.x,所以只需改为animation blocks。用以下代码替换您的代码:
[UIView animateWithDuration:0.3 animations:^{
scrollView.contentOffset = CGPointMake(0, 0);
}];
注意:另请注意,模拟器不是您理想的测试环境。尝试在运行iOS 5的设备上运行该应用程序。
好的,昨天,我得到了你解释的完全相同的“症状”。我有一些在iOS 5中跳过的动画代码,但在iOS 6中工作。正如预期的那样,我的代码没有任何问题,也没有你的...问题是当我们正在执行它时
在我的情况下,并且非常确定您的情况类似,我在应用程序启动时立即加载的视图控制器的viewDidLoad
中执行此操作。因此,一个非常简单的解决方法是用一些GDC魔法包装它:
dispatch_async(dispatch_get_main_queue(), ^{
[UIView animateWithDuration:0.65f
animations:^{
splashView.frame = CGRectOffset(splashView.frame, 0, splashView.bounds.size.height);
}];
});