深入探讨表格视图的运行、约束设置与代码实现
1. 运行时的窗口表现
在运行程序时,我们可以通过点击 Xcode 窗口左上角的“运行”按钮来启动程序。之后,尝试拖动窗口右下角来调整窗口大小,你可能会遇到一些意外的情况。当首次以重新组织后的窗口运行程序时,界面可能会变得很糟糕。例如,垂直拉伸窗口并水平缩小它时,表格视图、“能力与技能”框和“主要动机”框可能状态良好,但“外观”框会向下扩展,“备注”框和“基本信息”框会水平缩小,“基本信息”框甚至可能变得一团糟。
我们期望的窗口表现如下:
|元素|期望表现|
| ---- | ---- |
|原 UI 元素(NSBox 中的所有项目)|保持相同大小并固定在窗口右侧|
|两个新按钮|保持相同大小,彼此间距不变,固定在表格视图下方的窗口左侧|
|新表格视图|随窗口扩大在垂直和水平方向扩展,固定在窗口左侧,且在任何方向都不小于当前大小|
|表格视图右侧的框|与表格视图保持固定距离|
2. Cocoa 自动布局与约束
从 Mac OS X Lion 开始,Cocoa 通过自动布局系统处理窗口大小调整。自动布局的大小调整行为通过优先约束来指定,这些约束可以声明视图的最小或最大尺寸、子视图之间需要保留的关系以及视图与其父视图之间的关系等。当用户调整窗口大小时,约束满足引擎会根据优先级动态确定最佳布局。
2.1 约束的类型与关系
约束可以表达“等于”“小于”“大于”等关系,涉及一对视图或一个视图和一个常量。例如:
- “myButton 的宽度 = 87”:将按钮宽度固定为 87 点。
- “myButt
超级会员免费看
订阅专栏 解锁全文
820

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



