这是我的表格视图委托:
- (void)tableView:(NSTableView *)tableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
id theRecord;
NSMutableString *gid;
theRecord = [tableDataSource objectAtIndex:row];
gid = [theRecord objectForKey:@"gid"];
if (([gid intValue] % 2) != 0)
{
[aCell setDrawsBackground: YES];
[aCell setBackgroundColor: [NSColor colorWithCalibratedRed: 237.0 / 255.0
green: 243.0 / 255.0
blue: 254.0 / 255.0
alpha: 1.0]];
}
else
{
[aCell setDrawsBackground: NO];
}
}
它可以很好地显示正常的单元格,但是在我添加一个具有NSButtonCell类型的单元格后,tableview会被冻结(对于复选框)。如何解决?
任何帮助都将不胜感激。
答案 0 :(得分:1)
根据NSButtonCell reference,您只能为无边框按钮指定背景颜色。您是否尝试使用无边框按钮单元?
此外,我找不到NSButtonCell的setDrawsBackground:
方法;我只能找到NSTextFieldCell。你试过删除电话吗?