这似乎是一个非常基本的问题,但我找不到答案。
当我将元素添加到故事板中的场景中,或者拖动它们或调整它们的大小时,Xcode 会自动添加和删除约束来描述它们的大小和位置。
现在,一旦 Xcode 创建了一个特定类型的约束——比如说,一个高度约束——我知道我可以修改它的属性——Relation
并且Constant
在Priority
高度约束的情况下——通过属性检查器。我想不通的是如何手动添加或删除给定类型的约束,而不是依靠 Xcode 的魔法为我这样做。
例如,在我当前的场景中,我有一个包含工具栏和表格视图的 ViewController。现在,我确切地知道要使用哪些约束来描述这两个视图的垂直定位和大小:
- 工具栏顶部距屏幕顶部的垂直间距为 0
- 工具栏具有固定高度
- 表格视图的底部距离屏幕底部的垂直间距为 0
- 表格视图的顶部距离工具栏底部的垂直间距为 0
这样,表格视图的高度将根据屏幕大小进行适当调整。
然而,Xcode 以它的智慧决定这不是我想要的,而是对我施加了以下限制(无论我多么随意地拖动东西并祈祷,它似乎都不想改变):
- 工具栏顶部距屏幕顶部的垂直间距为 0
- 工具栏底部距离屏幕底部有 526 个垂直空间
- 表格视图从屏幕底部的垂直空间为 0
- 表格视图的固定高度为 526
结果,当我尝试在较小的屏幕或容器中查看 ViewController 时,一切都出错了:
当我确切地知道自己需要什么时,无法手动设置自己的约束是令人沮丧的。如何显式删除 Xcode 自动创建的废话约束并手动添加我自己的?