使用表格视图:布局与代码实现指南
1. 运行时窗口调整问题
在运行程序时,当我们调整窗口大小,可能会遇到布局混乱的情况。比如,拉伸窗口垂直方向并缩小水平方向时,界面元素可能会出现不符合预期的变化,像外观框向下扩展、注释框和基本信息框水平缩小等。
为了让窗口布局在调整大小时符合预期,我们需要明确各个元素的期望行为:
- 原有的 UI 元素(NSBox 中的所有项目)保持大小不变,并固定在窗口右侧。
- 两个新按钮保持大小不变,彼此间距不变,固定在表格视图下方的窗口左侧。
- 新的表格视图在窗口扩大时,水平和垂直方向都能扩展,固定在窗口左侧,且在两个方向上都不小于当前大小。
- 表格视图右侧的框与表格视图保持距离。
2. Cocoa 自动布局与约束
从 Mac OS X Lion 开始,Cocoa 采用自动布局系统来处理窗口调整。自动布局通过优先级约束来指定视图的调整行为,这些约束可以声明视图的最小或最大尺寸、子视图之间的关系以及视图与其父视图的关系等。
2.1 约束的类型和表达
约束可以表达“等于”“小于”“大于”等关系,涉及一对视图或一个视图和一个常量。例如:
- 简单约束:“myButton’s width = 87”,使按钮宽度固定为 87 点。
- 不等式约束:“myButton’s height >= 32”,表示按钮高度不能小于 32 点,系统通常会选择满足不等式的最小值。
- 复杂约束:“the horizontal space between myButton’s leading edge and the window’s
超级会员免费看
订阅专栏 解锁全文

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



