动画立即完成iOS

时间:2014-02-11 19:58:52

标签: ios iphone animation

我正在创建一个应用程序,其中有一个由视图控制器管理的主视图和另一个视图控制器管理的设置的第二个视图。

我在应用程序中使用容器视图控制器出于UI / UX的原因,在触摸按钮后,设置视图从屏幕底部向上滑动到大约中间高度。屏幕的上半部分仍显示上一个主视图。

一切都工作正常,按下按钮后或当用户关闭滑动的视图控制器时,我保留其中一个视图(因为它仍然可见),我将视图控制器保留在内存中但我将其从View Controller层次结构并切换到另一个。

现在的问题是,当我按下按钮显示设置视图控制器时,主视图上的所有非常简单的动画,例如动画UILabel的frame属性,都会出现意外行为。动画几乎立即完成。

我在StackOverflow上阅读了一个答案,指出更改transform属性使得无法使用frame属性进行动画处理,并且需要使用center属性设置动画。

即使我没有明确地改变任何对象的transform属性(我对这个属性不太熟悉),我尝试使用center属性设置动画,但它仍然设置得太快了。

以下是按下设置按钮后立即完成的动画示例,但其他方式正常:

            [UIView animateWithDuration:1.4 animations:^{

            self.alarmTimeLabel.center = CGPointMake(self.alarmTimeLabel.center.x, self.alarmTimeLabel.center.y + 200);


        }];

感谢任何输入

1 个答案:

答案 0 :(得分:0)

现在,动画使用较旧的方法来实现相同的效果。

        [UIView beginAnimations:@"test" context:nil];

        [UIView setAnimationDuration:2.0];

        self.alarmTimeLabel.center = centerAlarmTimeLabel;
        self.amOrPm.center = centerAmOrPm;



        [UIView commitAnimations];

修复了这个错误!我不知道为什么制作简单动画的新方法不起作用,即使使用中心属性也是如此。