我有一个表视图,可以动态添加列。必须以这种方式完成,因为我无法预测需要多少列或哪些列。
有些列是复选框 https://stackoverflow.com/questions/2134478/problem-naming-nstablecolumn但当我运行我的应用程序时我无法单击它们。列和复选框设置为可编辑,但如果我单击复选框,则不会设置检查。我错过了什么吗?
Update
我如何(尝试)设置复选框的状态:
- (void)tableView:(NSTableView *)theTableView
setObjectValue:(id)theObject
forTableColumn:(NSTableColumn *)theColumn
row:(int)rowIndex
{
if (theTableView == resultsTableView) {
if ([[theColumn identifier] isEqualToString:CHCheckBoxColumnIdentifier]) {
NSInteger state = [[theColumn dataCell] state];
if (state == NSOnState) {
[[theColumn dataCell] setState:NSOffState];
} else {
[[theColumn dataCell] setState:NSOnState];
}
/*
NSLog(@"%@", theObject);
NSLog(@"%@", theColumn);
NSLog(@"%i", rowIndex);
*/
}
}
}
您的列是否绑定到控制器或者您是否使用 NSTableDataSource 协议?我怀疑是后者,但你需要具体说明。
按照我的假设:单击复选框的处理方式与处理其他内容的方式相同-tableView:setObjectValue:forTableColumn:row:
方法。您的对象将是按钮的状态......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)