我目前正在尝试学习一些Cocoa(使用书籍Cocoa Programming for Mac OS X)。在其中一个练习中,我们设置了一个只有一列的NSTableView,作为一个列表。
令我很恼火的是,在Interface Builder中,我找不到让(唯一)列始终占用NSTableView 的全宽的方法。因此,当实际上只有一列时,总会看起来有两列。
有什么想法吗?
答案 0 :(得分:52)
这只是一直在发生的IB问题(我不知道为什么)。要解决此问题,只需将表视图的大小调整为小于第2列的大小,然后将其拖回到所需大小,第2列将消失。
答案 1 :(得分:31)
以下是我在Xcode 4.6中的表现......
在IB中,选择表格视图并转到“属性”检查器。选择'Uniform'作为'Column Sizing'。然后,选择表格列并选择“使用表格自动调整大小”以进行“调整大小”。
这些选项对应于:
[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];
答案 2 :(得分:11)
我不得不同时使用这两个步骤 - sam的答案+ David Douglas的评论。
[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];
//AND
[tableView sizeLastColumnToFit];