【问题标题】:UIView animations hang up in iphone for testing [closed]UIView 动画挂在 iphone 中进行测试 [关闭]
【发布时间】:2012-08-14 09:09:57
【问题描述】:

我的应用程序在 iphone 模拟器中运行没有问题,但是当我在 iphone 4 (ios 5.1) 上运行它时,一些视图的动画不流畅,有时会动摇。我使用下面的代码,可能是什么问题?

- (void)moveAnimatedToPoint:(CGPoint)point after:(float)delay during:(CGFloat)duration willRemove:(BOOL)remove
{
    [UIView animateWithDuration:duration
                          delay:delay
                        options:UIViewAnimationCurveEaseOut
                     animations:^{
                         self.frame = CGRectMake(point.x, point.y,
                                                 CGRectGetWidth(self.frame), CGRectGetHeight(self.frame));
                     } completion:^(BOOL finished) {
                         if (finished) {
                             if (remove)
                                 [self removeFromSuperview];
                             else {
                                 isHided = CGRectContainsRect(self.superview.frame, self.frame) ? NO : YES;
                             }
                         }
                     }];
}

【问题讨论】:

    标签: cocoa-touch animation uiview


    【解决方案1】:

    解决方案在下面的链接中得到了很好的解释。我的视图有阴影层,它们会减慢过渡动画。

    http://mobileoverlord.com/instruments-optimizing-core-animation/

    【讨论】:

      【解决方案2】:

      欢迎来到模拟器之外的真实世界:)。

      根据您的动画(大小、内存要求等)、您的设备内存、您的设备活动任务等,这很容易发生;)。

      【讨论】:

      • 嗨,没有活动的任务背景。
      • 总是有活动的任务。设备操作系统正在做你看不到的事情。更新时间、处理中断等
      • 没有解决方案,忍受它;)。你唯一能做的就是制作一个更小的动画,并希望它运行得更顺畅,或者使用 OpenGL。
      • 好的,谢谢,但这些 cmets 对我没有帮助...
      • 没有人可以帮助你只看你的代码。不知道你在做什么类型的动画:大小、帧、内存使用等以及你的应用程序正在做什么其他事情,这是一项不可能完成的任务。但我必须再说一遍:你不能以这种方式为视图设置动画,并且 100% 确保它一直运行顺畅!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 2020-05-18
      • 2015-12-27
      相关资源
      最近更新 更多