动态隐藏NSTableView中的列

And*_*ndy 2 macos cocoa

我想根据要显示的数据动态隐藏/显示NSTableView中的一些列 - 基本上,如果列是空的,我希望隐藏该列.我目前正在使用控制器类填充表作为表的委托.

有任何想法吗?我看到我可以在Interface Builder中设置隐藏的列,但是似乎没有时间通过​​列并检查它们是否为空,因为似乎没有一个方法是在填充表中的所有数据之前/之后调用.

Cam*_*ies 12

在Mac OS X v10.5及更高版本中,有NSTableColumn 的setHidden:选择器.

这允许使用标识符动态隐藏/显示列:

NSInteger colIdx;
NSTableColumn* col;

colIdx = [myTable columnWithIdentifier:@"columnIdent"];
col = [myTable.tableColumns objectAtIndex:colIdx];
[col setHidden:YES];
Run Code Online (Sandbox Code Playgroud)