Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在navigationItem中停止带持续时间的动画_Ios_Animation_Uinavigationitem - Fatal编程技术网

Ios 在navigationItem中停止带持续时间的动画

Ios 在navigationItem中停止带持续时间的动画,ios,animation,uinavigationitem,Ios,Animation,Uinavigationitem,我正在尝试设置我的navigationItem.RightBarButtonim的动画,使其从绿色反复闪烁到白色。。。所以我这么做 UIView.animateWithDuration(1.0, delay:0, options: [.Repeat, .Autoreverse], animations: { self.navigationItem.rightBarButtonItem?.tintColor = .greenColor() }, comple

我正在尝试设置我的
navigationItem.RightBarButtonim的动画,使其从绿色反复闪烁到白色。。。所以我这么做

UIView.animateWithDuration(1.0, delay:0, options: [.Repeat, .Autoreverse], animations: {
    self.navigationItem.rightBarButtonItem?.tintColor = .greenColor()                
}, completion: nil)
正如我在这里看到的

而且它起作用了

问题是我使用的是
UITabView
,每次在视图之间切换并返回到第一个视图时,闪烁都会停止

我想这是因为我把一层又一层的动画粘在了某个地方

我知道要删除动画,我应该使用
layer.removeAllAnimations()

问题是我不知道该在哪个视图上进行

我尝试了self.view.layer.removeAllAnimations()
但它不起作用

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


所以我可以删除它?

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

在开始的时候,我把它放在viewwillappease函数中

在这之前,还尝试将按钮初始化为白色

但它看起来不是那样工作的,所以我将动画重新定位到

ViewDidDisplay函数并将按钮的初始值保留为白色

将在视图中显示,并且它现在似乎工作正常:)

谢谢