如何禁用尺寸 class 的一个特定约束?
How to disable one specific constraint for a size class?
假设我有一个视图,其宽度是纵向 superview 的 1/2,横向是 superview 的 1/3,我想我可以为该约束设置不同的乘数,但是大小 class没有这个功能。
然后我在下面的 post 中找到了一个解决方案,它说我必须禁用和启用不同大小的约束 classes.
Changing the multiplier of a constraint based on size class
我不知道该怎么做。我只找到一种清除所有约束的方法。但我不想再次重建所有约束。我只想改变一个约束。如果我在当前大小 class 中删除该约束,它也会在其他大小 class 中删除。有什么办法可以仅针对一种特定尺寸 class?
禁用该约束
使用isActive
属性.
如文档所述
The active state of the constraint. You can activate or deactivate a
constraint by changing this property. Note that only active
constraints affect the calculated layout. If you try to activate a
constraint whose items have no common ancestor, an exception is
thrown. For newly created constraints, the active property is NO by
default. Activating or deactivating the constraint calls
addConstraint: and removeConstraint: on the view that is the closest
common ancestor of the items managed by this constraint. Use this
property instead of calling addConstraint: or removeConstraint:
directly
这是删除特定大小的特定约束的方法class
1.) select你需要的具体尺码class
2.) 单击要remove/add 约束的视图或用户界面元素。
3.) 该视图或 uielement 的所有约束都显示在右侧的属性检查器中。
4.) Select 您要删除的特定约束,它会在该约束上设置蓝色边框。
5.) 然后按退格键。
这将仅针对特定尺寸 class 删除它。
此约束现在显示为灰色
查看控制器。
假设我有一个视图,其宽度是纵向 superview 的 1/2,横向是 superview 的 1/3,我想我可以为该约束设置不同的乘数,但是大小 class没有这个功能。
然后我在下面的 post 中找到了一个解决方案,它说我必须禁用和启用不同大小的约束 classes.
Changing the multiplier of a constraint based on size class
我不知道该怎么做。我只找到一种清除所有约束的方法。但我不想再次重建所有约束。我只想改变一个约束。如果我在当前大小 class 中删除该约束,它也会在其他大小 class 中删除。有什么办法可以仅针对一种特定尺寸 class?
禁用该约束使用isActive
属性.
如文档所述
The active state of the constraint. You can activate or deactivate a constraint by changing this property. Note that only active constraints affect the calculated layout. If you try to activate a constraint whose items have no common ancestor, an exception is thrown. For newly created constraints, the active property is NO by default. Activating or deactivating the constraint calls addConstraint: and removeConstraint: on the view that is the closest common ancestor of the items managed by this constraint. Use this property instead of calling addConstraint: or removeConstraint: directly
这是删除特定大小的特定约束的方法class
1.) select你需要的具体尺码class
2.) 单击要remove/add 约束的视图或用户界面元素。
3.) 该视图或 uielement 的所有约束都显示在右侧的属性检查器中。
4.) Select 您要删除的特定约束,它会在该约束上设置蓝色边框。
5.) 然后按退格键。
这将仅针对特定尺寸 class 删除它。
此约束现在显示为灰色 查看控制器。