在navigationItem中停止animateWithDuration

时间:2016-03-09 22:39:21

标签: ios animation uinavigationitem

我试图动画我的navigationItem.rightBarButtonItem反复从绿色变为白色......所以我这样做

UIView.animateWithDuration(1.0, delay:0, options: [.Repeat, .Autoreverse], animations: {
    self.navigationItem.rightBarButtonItem?.tintColor = .greenColor()                
}, completion: nil)

正如我在question

中看到的那样

它的工作

问题是我正在使用UITabView,每次我在视图之间切换并返回第一个视图时,眨眼就会停止

我觉得它是因为我在某处动画层层叠加了

我明白要移除动画我应该使用layer.removeAllAnimations()

问题在于我不知道在

上执行哪种观点

我试过self.view.layer.removeAllAnimations() 它没有用。

如何到达我为navigationItem动画创建的图层

所以我可以删除它吗?

1 个答案:

答案 0 :(得分:0)

我通过重新定位动画的创建来解决这个问题

在开始时我把它放在viewWillAppear函数

并尝试在此之前将按钮初始化为白色

但看起来它不起作用,所以我将动画重新定位到

viewDidAppear函数并将按钮的init保留为白色

viewWillAppear中的

现在似乎正常工作:)

感谢