我正在使用another-property
为约束设置动画。 UIView.animate
是约束变量。
代码如下:
drawerHeight
Here is a video of what the issue looks like.
从视频底部看,底部边缘似乎落后。 为什么动画时这些约束似乎滞后?
这是一个自我解答的问题。这篇文章是为了帮助人们将来发现自己做错了什么以及如何快速修复它。
答案 0 :(得分:0)
问题在于该约束附加到比以前更深的层次结构中的视图。使用drawerHeight?.constant = newHeight
UIView.animate(withDuration: 0.35, delay: 0, usingSpringWithDamping: 0.65, initialSpringVelocity: 2, options: .allowUserInteraction, animations: {
self.superview?.layoutIfNeeded()
})
时,应在包含约束的视图的超级视图上调用它。
在我的情况下,我将具有layoutIfNeeded()
约束的视图放在另一个drawerHeight
中,这使它在层次结构中更深。
我通过解决此问题
UIView
代替
self.superview?.superview?.layoutIfNeeded()
。