当我单击特定的标题列时,我就有一个NSTableView,表中的数据被颠倒或颠倒排序。我已经检查了NSTableViewNSTableColumn,但是找不到任何禁用此功能的方法。如果有人可以在单击特定列的标题时禁用此排序功能,我将负责。

最佳答案

NSTableView的排序由sortDescriptors完成,请参见here
NSTableColumn使用其sortDescriptorPrototype(请参阅here)来生成NSTableView的排序描述符,具体取决于您单击列标题的次数等。

如果使用dataSource来管理数据,那么将通过委托(delegate)方法tableView:sortDescriptorsDidChange:传达排序描述符,请参见here。您只需要忽略更改消息即可停止排序。

如果使用Cocoa绑定(bind)来管理数据,则排序描述符由表列生成,并设置为NSArrayController。要停止它,只需打开表列绑定(bind)的检查器,选择value,然后取消选中“创建排序描述符”。

关于objective-c - 如何禁用NSTableVIew中的排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4311334/

10-12 00:15
查看更多