【问题标题】:stop animateWithDuration in navigationItem在 navigationItem 中停止 animateWithDuration
【发布时间】:2016-03-09 22:39:21
【问题描述】:

我正在尝试为我的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 动画创建的这一层

所以我可以删除它?

【问题讨论】:

    标签: ios animation uinavigationitem


    【解决方案1】:

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

    一开始我把它放在 viewWillAppear 函数中

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

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

    viewDidAppear 函数并将按钮的初始化设置为白色

    在 viewWillAppear 中,它现在似乎可以正常工作了 :)

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多