#objective-c #macos #cocoa #xcode4 #nstoolbar
#цель-c #macos #какао #xcode4 #nstoolbar
Вопрос:
У меня есть панель инструментов с пользовательскими элементами. Когда я нажимаю на элемент, левый элемент получает фокус. Как удалить фокус из элемента панели инструментов?
Комментарии:
1. Когда установлен переключатель «Полный доступ к клавиатуре» «Все элементы управления», и я открываю окно настроек для другого приложения, элемент панели инструментов не сфокусирован. Я думаю, что у меня проблема в моем собственном приложении
Ответ №1:
Похоже, у вас «Полный доступ с клавиатуры» установлен на «Все элементы управления». Вы можете нажать tab несколько раз, пока фокус не исчезнет с элемента панели инструментов.
Если вы хотите отключить возможность фокусировки на других объектах, кроме текстовых полей и списков (чтобы вы больше не могли фокусироваться на элементах панели инструментов и тому подобном), вы можете сделать это двумя способами: 1) нажмите Control F7 или 2) перейдите в Системные настройки, панель настроек клавиатуры, выберитеВкладка сочетания клавиш и измените переключатель «Полный доступ к клавиатуре» с «Все элементы управления» на «Только текстовые поля и списки».
Комментарии:
1. ОК. Это работает, но когда установлен переключатель «Полный доступ к клавиатуре» «Все элементы управления», и я открываю окно настроек для другого приложения, элемент панели инструментов не сфокусирован. Я думаю, что у меня проблема в моем собственном приложении… Еще идеи?
2. Хммм… Моя первоначальная реакция связана с тем, что NSToobarItem становится первым ответчиком (что делает его выделенным синим цветом). Я формулировал другой ответ по этому поводу, но потом я узнал, что NSToolbar и NSToolbarItem не наследуются от NSResponder или NSView. Когда вы говорите «панель инструментов с пользовательскими элементами», вы имеете в виду, что у вас есть подкласс NSToolbarItem? Если это так, вы можете добавить этот метод в свой подкласс:
-(BOOL)acceptsFirstResponder { return NO; }
3. Я не подкласс NSToolbarItem. Я использую объект элемента панели инструментов изображения и устанавливаю собственное изображение…