我有NSTimer
每秒更新一次UILabel
。当按下UIImageView
时,我有另一个UIButton
在屏幕上滑动。
问题是当NSTimer
更新UILabel
时,UImageView
的动画将停止完成。
请告诉我如何在不搞乱其他动画的情况下更新计时器?
答案 0 :(得分:2)
这是打开auto layout的常见症状,但可能会尝试通过调整frame
或center
在屏幕上滑动它。自动布局是iOS 6+功能,可控制各种UIView
元素的位置和大小。遗憾的是,当您启用自动布局时,每次更改标签的值时,它都会重新应用指定标签所在位置的约束,从而击败您为其设置动画的尝试。
两种解决方案:
通过打开故事板或NIB关闭自动布局,单击最右侧面板上的第一个“文档检查器”选项卡,然后取消选中“使用Autolayout”。
如果您想使用自动布局,请通过更改约束而不是更改frame
或center
来动画控件的移动。有关如何为约束创建IBOutlet
,然后在animateWithDuration
块中以编程方式更改该约束的示例,请参阅here。