从navigationBar中删除动画以停止完成处理程序

时间:2017-01-24 01:17:44

标签: ios animation

我正在动画我的navigationBar高度的变化。

let bar = navigationController?.navigationBar

UIView.animate(withDuration: 0.5, animations: { bar?.frame.size.height = 79 }) {
    if $0 { print("completed") }
}

为简单起见,我使用的是标准的UIView动画,但在原始代码中,我使用的选项为allowUserInteraction

为防止完成打印出“已完成”,通常我会从动画对象中删除动画:

object.layer.removeAllAnimations()

当它是正常的UIView并且完成处理程序不会打印任何内容时,它会起作用。但是对于导航栏,它似乎无法正常工作:

bar?.layer.removeAllAnimations()

“删除”了所有动画后,控制台仍打印出:

completed

导航栏有什么不同,为什么我似乎无法删除动画以停止完成处理程序?

0 个答案:

没有答案