-2

问题是我在表格视图单元格中有一个简单的视图动画,但是当我在 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]; 
4

1 回答 1

0

我真的怀疑你是否支持 iOS 3.x,所以已经更改为动画块。用这个替换你的代码:

[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);
                     }];
});
于 2012-10-23T23:44:52.007 回答