如何为大小类禁用一个特定约束?

时间:2015-06-26 10:59:22

标签: ios xcode6 autolayout size-classes

假设我有一个视图,其宽度是纵向的superview的1/2,以及横向的superview的1/3,我认为我可以为该约束设置不同的乘数,但是尺寸类没有这个功能。

然后我在下面的帖子中找到了一个解决方案,它说我必须禁用并启用不同大小类的约束。

Changing the multiplier of a constraint based on size class

我不知道该怎么做。我只找到一种清除所有约束的方法。但我不想再次重建所有限制因素。我只想改变一个约束。如果我在当前大小类中删除该约束,它也会在其他大小类中删除。有没有办法可以为一个特定大小的类禁用该约束?

2 个答案:

答案 0 :(得分:2)

这是删除特定大小类中特定约束的方法

1。)选择您需要的特定尺寸等级

2。)单击要删除/添加其约束的视图或元素。

3。)该视图或元素的所有约束都显示在右侧属性检查器中。

4.。)选择要删除的特定约束,在该约束上设置蓝色边框。

5.)然后按退格键。

这将仅删除该特定大小类。

此约束现在显示为灰色 查看控制器。

答案 1 :(得分:1)

使用isActive属性。

正如文件所说

  

约束的活动状态。您可以激活或停用a   通过更改此属性来约束。请注意,只有活动   约束会影响计算的布局。如果你试图激活一个   约束,其项目没有共同的祖先,例外是   抛出。对于新创建的约束,活动属性为NO   默认。激活或停用约束调用   addConstraint:和removeConstraint:在最接近的视图上   由此约束管理的项目的共同祖先。用这个   属性而不是调用addConstraint:或removeConstraint:   直接