表格视图使用与布局调整实战指南
1. 运行时窗口调整问题
当运行程序并调整窗口大小时,可能会遇到布局混乱的问题。比如拉伸窗口垂直方向并缩小水平方向时,界面元素可能出现变形。例如外观框可能向下扩展,注释框和基本信息框可能水平缩小,基本信息框甚至可能变得杂乱。
我们期望的窗口布局调整效果是:原有的所有 UI 元素(NSBox 中的项目)保持大小不变,并固定在窗口右侧;两个新按钮保持大小不变、间距不变,并固定在表格视图下方的窗口左侧;新的表格视图在窗口扩展时能在垂直和水平方向同时扩展,贴紧窗口左侧,且在两个方向上都不小于当前大小;表格视图右侧的框与表格视图保持固定距离。
2. Cocoa 自动布局与约束机制
从 Mac OS X Lion 开始,Cocoa 使用自动布局系统来处理窗口调整。自动布局通过优先级约束来指定调整行为,这些约束可以声明视图的最小或最大尺寸、子视图之间的关系以及视图与其父视图的关系等。当用户调整窗口大小时,约束满足引擎会根据优先级动态确定最佳布局。
约束可以表达“等于”“小于”“大于”等关系,涉及一对视图或一个视图和一个常量。例如:
- “myButton’s width = 87” 可使按钮宽度固定为 87 点。
- “myButton’s height >= 32” 表示按钮高度不能小于 32 点,系统通常会选择满足条件的最小尺寸。
更复杂的约束如:
- “the horizontal space between myButton’s leading edge and the window’s leading edge = 10”
- “the hor
超级会员免费看
订阅专栏 解锁全文
810

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



