我有这个动画块
UIView.animate(withDuration: 0.5, animations: {
self.holdingView.alpha = .5
}, completion: { (complete) in
if complete {
self.holdingView.removeFromSuperview()
}
})
}
但是无论出于什么原因,从未在iPhone上调用完成处理程序,而是在运行iOS 9.3.5的itouches上运行,但奇怪的是,在运行iOS 9.3.5的iPad Mini上调用了完成处理程序。
这一直很难调试,因为我在控制台中没有任何错误。此外,在所有iOS版本> 9.3.5上,完成处理程序都称为
任何帮助或见识将不胜感激。
最佳答案
我只是面临类似的问题。我正在以一系列方式使我的观点动起来。
我猜complementHandler正在尝试连接到先前的动画。我按照以下步骤删除了所有动画,并且一切顺利。
对于您的情况,请尝试以下操作:
self.holdingView.layer.removeAllAnimations()
UIView.animate(withDuration: 0.5, animations: {
self.holdingView.alpha = .5
}, completion: { (complete) in
if complete {
self.holdingView.removeFromSuperview()
}
})
}