Это кольцо фокусировки. Он показывает, когда панель сделана клавишей (из-за щелчка) и указывает, какой элемент управления будет реагировать на события клавиатуры, например нажатие клавиши пробела. Вероятно, он будет перемещаться среди элементов управления в окне при нажатии Tab или Shift-Tab.
Если у вас есть текстовые поля и т. П. На панели, которые сфокусированы на щелчке, то нажатие на один из них, вероятно, удалит кольцо фокусировки из элемента панели инструментов и поместит его в текстовое поле.
Вы не должны рассматривать это как какую-то большую проблему. Однако, если вы действительно хотите изменить его, вы можете сделать еще один вид первого ответчика (сфокусированный вид), чтобы элемент панели инструментов не имел фокуса.
Вы можете установить initialFirstResponder
вашего окна и/или ваших позиций табуляции. (Я предполагаю, что элементы панели инструментов переключаются между вкладками в виде табуляции).
В качестве альтернативы вы можете сделать окно своим собственным первым ответчиком, выполнив [window makeFirstResponder:nil]
. Или вы можете сделать любой конкретный вид первым ответчиком, выполнив if ([view acceptsFirstResponder]) [view.window makeFirstResponder:view];
.
Спасибо за понимание вокруг кольца фокусировки. Решением было добавить [(NSPanel *) self.window setBecomesKeyOnlyIfNeeded: YES]; для -awakeFromNib для панели инспектора. –