我怎样才能让NSTableView的唯一列占据TableView的所有宽度?

时间:2011-09-25 12:31:18

标签: cocoa xcode4 interface-builder nstableview

我目前正在尝试学习一些Cocoa(使用书籍Cocoa Programming for Mac OS X)。在其中一个练习中,我们设置了一个只有一列的NSTableView,作为一个列表。

令我很恼火的是,在Interface Builder中,我找不到让(唯一)列始终占用NSTableView 的全宽的方法。因此,当实际上只有一列时,总会看起来有两列。

有什么想法吗?

3 个答案:

答案 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];
相关问题