Macos NSTablview NSTextFieldCell集合可选择-
我试图针对特定条件取消选择一个nstextfieldcell。我已附上示例代码:Macos NSTablview NSTextFieldCell集合可选择-,macos,delegates,nstableview,nstextfieldcell,Macos,Delegates,Nstableview,Nstextfieldcell,我试图针对特定条件取消选择一个nstextfieldcell。我已附上示例代码: -(void)tableView:(NSTableView *)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{ if(tableView == resizeTV){ if([[tableColumn identifier] isEqualToString:@
-(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的类名。我仍然可以选择单元格。我做错了吗?
使用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;
}