在 navigationItem 中停止 animateWithDuration
stop animateWithDuration in navigationItem
我正在尝试为我的 navigationItem.rightBarButtonItem
设置动画,使其从绿色到白色反复闪烁...所以我这样做了
UIView.animateWithDuration(1.0, delay:0, options: [.Repeat, .Autoreverse], animations: {
self.navigationItem.rightBarButtonItem?.tintColor = .greenColor()
}, completion: nil)
如我所见question
有效
问题是我正在使用 UITabView
并且每次我在视图之间切换并且 return 到第一个视图时闪烁停止
我认为这是因为我在某处卡了一层又一层的动画
我知道要删除动画我应该使用 layer.removeAllAnimations()
问题是我不知道在哪个视图上执行此操作
我试过了self.view.layer.removeAllAnimations()
但它没有用。
我如何到达我为 navigationItem 动画创建的这一层
所以我可以删除它吗?
我通过重新定位动画的创建解决了这个问题
一开始我把它放在 viewWillAppear 函数中
并且还尝试在此之前将按钮初始化为白色
但它看起来不像那样工作,所以我将动画重新定位到
viewDidAppear 函数并将按钮的初始化保留为白色
在 viewWillAppear 中,它现在似乎工作正常:)
谢谢
我正在尝试为我的 navigationItem.rightBarButtonItem
设置动画,使其从绿色到白色反复闪烁...所以我这样做了
UIView.animateWithDuration(1.0, delay:0, options: [.Repeat, .Autoreverse], animations: {
self.navigationItem.rightBarButtonItem?.tintColor = .greenColor()
}, completion: nil)
如我所见question
有效
问题是我正在使用 UITabView
并且每次我在视图之间切换并且 return 到第一个视图时闪烁停止
我认为这是因为我在某处卡了一层又一层的动画
我知道要删除动画我应该使用 layer.removeAllAnimations()
问题是我不知道在哪个视图上执行此操作
我试过了self.view.layer.removeAllAnimations()
但它没有用。
我如何到达我为 navigationItem 动画创建的这一层
所以我可以删除它吗?
我通过重新定位动画的创建解决了这个问题
一开始我把它放在 viewWillAppear 函数中
并且还尝试在此之前将按钮初始化为白色
但它看起来不像那样工作,所以我将动画重新定位到
viewDidAppear 函数并将按钮的初始化保留为白色
在 viewWillAppear 中,它现在似乎工作正常:)
谢谢