布局约束配置全解析
1. 优先级与约束处理逻辑
在处理布局约束时,理解优先级的作用至关重要。我们可以将所有约束想象成放在不同的盒子里,每个盒子代表一个优先级,且优先级按降序排列。当运行时进行布局时,遵循以下步骤:
1. 首先处理优先级为 .required (值为 1000)的盒子里的所有约束。如果这些约束之间存在冲突,这是不好的情况,会在日志中报告。
2. 如果仅依据这些必需的优先级约束,仍无法进行明确的布局,就从下一个盒子中取出约束并尝试遵循。若能与之前的操作保持一致,那就没问题;若不能,或者仍然存在模糊性,就继续查看下一个盒子,以此类推。
3. 对于第一个盒子之后的盒子,我们不必严格遵循其中的约束。如果存在模糊性,可以使用较低优先级的约束值来确定目标,解决模糊性,而不必完全满足较低优先级约束的要求。例如,不等式是一种模糊性,因为有无数个值可以满足它;较低优先级的等式可以告诉我们优先选择哪个值,从而解决模糊性,即使无法完全达到该优先值,也不会产生冲突。
2. 在 Nib 中配置布局
在代码中配置布局通常不是必需的,我们可以使用 Nib 编辑器来设置布局。Nib 编辑器虽然不能完全替代代码实现所有功能,但它是一种非常强大的布局配置方式,必要时还可以用代码进行补充。
2.1 文件检查器中的布局选项
当选择 .storyboard 或 .xib 文件时,在文件检查器中可以通过复选框进行两个主要的布局选择:
| 选项 | 说明 |
| ---- | ---- |
| Use Trait V
超级会员免费看
订阅专栏 解锁全文
1925

被折叠的 条评论
为什么被折叠?



