Ome*_*mer 5 cocoa objective-c nstableview nsbutton nsbuttoncell
我有一个NSTableVIew用于多选目的,有两列,第一列是NSButtonCell作为复选框,另一列是标题.
我们的想法是检查要添加到数组后面的项目.
问题是当我单击它们时复选框不会改变它的状态.我试图附加一个IBAction,但发送者de de action是TableView但不是复选框
关于如何实现这种功能的任何想法(或链接)?
Sco*_* K. 10
假设您正在使用a,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
Run Code Online (Sandbox Code Playgroud)
单击复选框时,将调用第一个方法.如果aTableColumn有您的复选框,您将保存新状态,即[anObject boolValue].
当表需要绘制一行时,它会调用第二种方法.当表列是您的复选框列时,返回您在第一个方法中保存的状态.
最后一个方法告诉表视图将有多少行.
有关详细信息,请参阅表数据源文档,但我在此处对此进行了总结.