表格视图的使用与优化
1. 运行时窗口调整问题
当运行程序并调整窗口大小时,可能会遇到布局混乱的问题。例如,拉伸窗口垂直方向并缩小水平方向时,界面元素可能会出现不符合预期的变化。像外观框可能会向下扩展,注释框和基本信息框会水平缩小,基本信息框甚至可能变得一团糟。
为了解决这些问题,我们需要明确期望的窗口调整行为:
- 原有的所有 UI 元素(NSBox 中的项目)保持相同大小,并固定在窗口右侧。
- 两个新按钮保持相同大小,彼此间距不变,固定在表格视图下方的窗口左侧。
- 新的表格视图在窗口扩展时能在垂直和水平方向上扩展,固定在窗口左侧,且在两个方向上都不小于当前大小。
- 表格视图右侧的框框与表格视图保持固定距离。
2. Cocoa 自动布局与约束
从 Mac OS X Lion 开始,Cocoa 使用自动布局系统进行窗口调整。该系统通过优先约束来指定调整行为,这些约束包括视图的最小或最大尺寸、子视图之间的关系、视图与父视图的关系等。当用户调整窗口大小时,约束满足引擎会根据优先级动态确定最佳布局。
约束可以表达各种关系,如“等于”“小于”“大于”,可以是两个视图之间的关系,也可以是视图与常量的关系。例如:
- “myButton 的宽度 = 87”,这会使按钮宽度固定为 87 点。
- “myButton 的高度 >= 32”,表示按钮高度不能小于 32 点,系统通常会选择满足条件的最小尺寸。
更复杂的约束对如:
- “myButton 的前缘与窗口前缘的水平间距 = 10”
- “myButton 的后缘与窗口后缘的水平间距 =
超级会员免费看
订阅专栏 解锁全文
2467

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



