Как скрыть кольцо фокуса для NSTextFieldCell? - PullRequest
4 голосов
/ 05 октября 2011

Я пытаюсь убрать эту синюю рамку (которая находится вокруг NSTextFieldCell, когда вы можете редактировать значение).Есть ли способ управлять этим как-нибудь?В то же время пользователь все равно должен иметь возможность изменять текст, просто дважды щелкнув.

Для самой таблицы я избавился от нее, установив для этой опции Фокусное кольцо значениеНикто.Но я не могу найти его для любого текстового поля, к сожалению ...

1 Ответ

15 голосов
/ 05 октября 2011

Не забывайте проверять суперклассы при поиске в документах. В этом случае, поскольку 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;
}
...