我有一组按钮,我以展开-折叠的方式制作动画,更像是抽屉的打开和关闭 Action 。我只是简单地改变这些按钮的 X 位置来实现这个并且它工作正常。 在 Interface Builder 中设计此布局时,我已将所有这些按钮的约束设置为“drawer-closed”状态。
当抽屉保持打开状态并且屏幕上的其他一些 View 得到更新时,就会出现问题。
我了解 viewDidLayoutSubviews()
在此实例中被调用。
因此,保持打开状态的抽屉菜单突然关闭,打乱了“抽屉关闭”动画,并且按钮无法像在“抽屉关闭”状态下那样获得预期的 View 。
我想当 viewDidLayoutSubviews()
被调用时,按钮的约束会被重新初始化。
现在回到我的问题 - 我们如何设置/管理 View 的约束 哪些会因为动画而移动运行时间?
我是 iOS 应用程序开发的初学者,我确实回答了有关以编程方式管理约束 或 viewDidLayoutSubviews
等问题,但我找不到标准方法按照我遇到的情况进行跟踪。
最佳答案
您可以动画化约束的变化,而不是改变框架。
如何做的简短预览:
yourConstraint.constant = newValue
UIView.animate(withDuration: animationDuration) {
yourView.layoutIfNeeded()
}
可以找到有关此的更多信息here .
关于ios - 如何管理 iOS 中可移动 View 的约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49606377/