我试图使其中一个nstextfieldcell在特定条件下不被选中。我附上了示例代码:
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
if(tableView == resizeTV){
if([[tableColumn identifier] isEqualToString:@"Name"]){
if([[cell stringValue] isEqualToString:@"Cate"]){
[cell setSelectable:FALSE];
}
}
}
}在检查条件时,该单元格仍处于选中状态。我已经将tableview绑定到tabledatasource和datadelegate的类名。我仍然可以选择单元格。我做错了吗?

发布于 2013-05-04 13:30:24
使用NSTableView方法取消选择单元格setSelectionHighlightStyle:
-(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
if(tableView == resizeTV){
if([[tableColumn identifier] isEqualToString:@"Name"]){
if([[cell stringValue] isEqualToString:@"Cate"]){
[table_view setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];
}
}
}}
使用此委托方法取消选择特定行
- (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row
{
if (row==7)
{
[table_view setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];
}
else
{
[table_view setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleSourceList];
}
return YES;
}https://stackoverflow.com/questions/14216852
复制相似问题