如何隐藏NSTextFieldCell的焦点环?

时间:2011-10-04 21:55:36

标签: objective-c cocoa nstextfield

我正试图让这个蓝色边框(当你可以编辑值时,它位于NSTextFieldCell周围)。有办法以某种方式管理这个吗?同时,用户仍然可以通过双击来更改文本。

对于表格本身,我通过将聚焦环选项设置为无来摆脱它。但遗憾的是,我无法在任何文本字段中找到它......

1 个答案:

答案 0 :(得分:15)

在查看文档时,不要忘记检查超类。在这种情况下,由于NSTextFieldCell继承自NSCell,您希望使用-[NSCell setFocusRingType:]

在细胞聚焦之前获取细胞的最简单方法可能是NSTableViewDelegate方法tableView:shouldEditTableColumn:row:

- (BOOL)tableView:(NSTableView *)tableView 
shouldEditTableColumn:(NSTableColumn *)tableColumn 
                  row:(NSInteger)row 
{        
    NSTextFieldCell * cell = [tableColumn dataCellForRow:row];
    [cell setFocusRingType:NSFocusRingTypeNone];
    return YES;
}