需要根据设备方向更改 NSLayoutConstraint 的乘数:在哪里做?

Need to change multiplier of NSLayoutConstraint according to device orientation: where to do it?

由于 multiplier 似乎是只读的 属性,我在一些帖子中读到 this 有必要删除旧的 NSLayoutConstraint 并替换它与一个新的与你想要的新乘数。但是我不知道哪种方法是正确的...

感谢您的帮助

您可以通过覆盖方法 willTransitionToTraitCollection:withTransitionCoordinator 来捕捉方向变化:在视图控制器中,然后可以相应地更新约束。是的,正如您所提到的,如果您需要更改乘数,那么您首先必须删除约束,然后再次应用它。如果您在编译时知道您将在两个方向上使用什么乘法器,那么我建议使用界面构建器为不同的大小 类 使用不同的乘法器创建单独的约束。

有用Material

Adaptive and Size Changes Reference