如何隐藏NSTextFieldCell的焦点环?

4 cocoa objective-c nstextfield

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

对于表本身,我通过将此Focus环选项设置为None来摆脱它.但遗憾的是,我找不到任何Text Field ...

Jos*_*ell 16

在查看文档时,不要忘记检查超类.在这种情况下,由于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;
}
Run Code Online (Sandbox Code Playgroud)