假设我有一个视图,其宽度是纵向的superview的1/2,以及横向的superview的1/3,我认为我可以为该约束设置不同的乘数,但是尺寸类没有这个功能。
然后我在下面的帖子中找到了一个解决方案,它说我必须禁用并启用不同大小类的约束。
Changing the multiplier of a constraint based on size class
我不知道该怎么做。我只找到一种清除所有约束的方法。但我不想再次重建所有限制因素。我只想改变一个约束。如果我在当前大小类中删除该约束,它也会在其他大小类中删除。有没有办法可以为一个特定大小的类禁用该约束?
答案 0 :(得分:2)
这是删除特定大小类中特定约束的方法
1。)选择您需要的特定尺寸等级
2。)单击要删除/添加其约束的视图或元素。
3。)该视图或元素的所有约束都显示在右侧属性检查器中。
4.。)选择要删除的特定约束,在该约束上设置蓝色边框。
5.)然后按退格键。
这将仅删除该特定大小类。
此约束现在显示为灰色 查看控制器。
答案 1 :(得分:1)
使用isActive
属性。
正如文件所说
约束的活动状态。您可以激活或停用a 通过更改此属性来约束。请注意,只有活动 约束会影响计算的布局。如果你试图激活一个 约束,其项目没有共同的祖先,例外是 抛出。对于新创建的约束,活动属性为NO 默认。激活或停用约束调用 addConstraint:和removeConstraint:在最接近的视图上 由此约束管理的项目的共同祖先。用这个 属性而不是调用addConstraint:或removeConstraint: 直接