【问题标题】:Why would an auto layout constraint be activated without setActive: being called?为什么会在没有调用 setActive: 的情况下激活自动布局约束?
【发布时间】:2019-05-03 17:57:57
【问题描述】:

我的应用中有一个约束,我以编程方式将其设置为非活动状态。但是,当我在将应用程序设置为非活动状态后不久暂停应用程序时,调试器显示它处于活动状态。如果我在-[NSLayoutConstraint setActive:] 上设置断点,我会发现在将约束设置为非活动状态后,再也不会为该约束调用它。我该如何调试?

【问题讨论】:

    标签: ios cocoa-touch autolayout


    【解决方案1】:

    确保在取消激活约束后对它的引用仍然有效(如果设置为非活动的弱引用约束可能会被释放,因为它们已从视图中删除),并记得在添加和删除约束后调用layoutIfNeeded()

    【讨论】:

    • 修改约束后通常不需要调用layoutIfNeeded()。
    • @Sven 我的措辞模棱两可,通过修改,我的意思是添加和删除约束,为清楚起见进行了编辑。
    猜你喜欢
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2017-11-03
    • 1970-01-01
    • 2014-07-10
    相关资源
    最近更新 更多