作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 TableView ,可以动态添加列。必须以这种方式完成,因为我无法预测需要多少列或哪些列。
一些列是 checkboxes但当我运行我的应用程序时我无法单击它们。列和复选框设置为可编辑,但如果我单击复选框,则不会设置检查。我错过了什么吗?
更新
我如何(尝试)设置复选框的状态:
- (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);
*/
}
}
}
最佳答案
您的列是否绑定(bind)到 Controller 或者您是否使用 NSTableDataSource 协议(protocol)?我怀疑是后者,但您需要具体说明。
按照我的假设:单击复选框的处理方式与 -tableView:setObjectValue:forTableColumn:row:
方法中其他任何内容的处理方式相同。您的对象将是按钮的状态...
关于objective-c - 表格列上的复选框不会记录点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2141919/
我是一名优秀的程序员,十分优秀!