我有一个用于多重选择的 NSTableVIew,有两列,第一列以 NSButtonCell 作为复选框,另一列作为标题。
这个想法是检查要添加到数组后的项目。
问题是当我单击复选框时,它们的状态不会改变。我尝试附加 IBAction,但发送动作的发送者是 TableView,而不是复选框
关于如何实现这种功能的任何想法(或链接)?
假设您正在使用NSTableViewDataSource
你需要实现三种方法:
- (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
单击该复选框时,将调用第一个方法。如果 aTableColumn 有您的复选框,您将保存新状态,即[anObject boolValue]
.
当表格需要绘制一行时,调用第二个方法。当表列是复选框列时,返回您在第一个方法中保存的状态。
最后一个方法告诉表视图将有多少行。
See 表数据源文档 http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TableView/Tasks/UsingTableDataSource.html了解更多细节,但我已经在这里总结了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)