NSTimer阻止其他动画

时间:2013-05-04 15:45:00

标签: ios iphone objective-c nstimer

描述

我有NSTimer每秒更新一次UILabel。当按下UIImageView时,我有另一个UIButton在屏幕上滑动。

问题

问题是当NSTimer更新UILabel时,UImageView的动画将停止完成。

问题

请告诉我如何在不搞乱其他动画的情况下更新计时器?

1 个答案:

答案 0 :(得分:2)

这是打开auto layout的常见症状,但可能会尝试通过调整framecenter在屏幕上滑动它。自动布局是iOS 6+功能,可控制各种UIView元素的位置和大小。遗憾的是,当您启用自动布局时,每次更改标签的值时,它都会重新应用指定标签所在位置的约束,从而击败您为其设置动画的尝试。

两种解决方案:

  1. 通过打开故事板或NIB关闭自动布局,单击最右侧面板上的第一个“文档检查器”选项卡,然后取消选中“使用Autolayout”。

    show autolayout

  2. 如果您想使用自动布局,请通过更改约束而不是更改framecenter来动画控件的移动。有关如何为约束创建IBOutlet,然后在animateWithDuration块中以编程方式更改该约束的示例,请参阅here

  3. 参考文献: