【发布时间】:2018-04-02 06:30:53
【问题描述】:
我有一组按钮,我以展开-折叠方式制作动画,更像是抽屉打开和关闭动作。我只是改变这些按钮的 X 位置来实现这一点,它工作正常。 在界面生成器中设计此布局时,我已将所有这些按钮的约束设置为“drawer-closed”状态。
当抽屉处于打开状态并且屏幕上的其他一些视图得到更新时,就会出现问题。
我知道 viewDidLayoutSubviews() 在这种情况下被调用。
正因为如此,打开的抽屉菜单突然关闭,与“抽屉关闭”动画相混淆,并且按钮无法在“抽屉关闭”状态下获得预期的视图。
我想当viewDidLayoutSubviews() 被调用时,按钮的约束会被重新初始化。
现在来回答我的问题 - 我们如何设置/管理视图的约束 哪些会因为动画而移动运行时?
我是 iOS 应用程序开发的初学者,我确实遇到了关于以编程方式管理约束或viewDidLayoutSubviews 等的问题,但我找不到在这种情况下遵循的标准方法我遇到过。
【问题讨论】:
-
你能分享你的屏幕图像吗?
-
您需要使用约束为视图更改设置动画。请阅读这篇文章了解更多信息:stackoverflow.com/a/12664093/3883492
-
您可以管理
collapse/ open of drawer,方法是采用一个标志,该标志将在分配约束值之前实施检查。发布您的代码以获取更多详细信息.. -
@dvp.petrov,非常感谢您的帮助。更改前导约束而不是框架 x 位置有效。您能否发表您的评论作为答案,以便我可以将其标记为已解决? RajeshKumarR 和 Ankit Jayaswal,感谢您随时准备提供帮助!
标签: ios swift nslayoutconstraint