Интерфейсный Разработчик: определите, какой элемент имеет начальный фокус - PullRequest
3 голосов
/ 24 сентября 2011

У меня есть приложение Какао с табличным представлением и несколькими другими элементами управления.Когда приложение запускается и отображается окно, вокруг представления таблицы рисуется синее кольцо фокусировки.

Как мне избавиться от этого кольца фокусировки?Мне бы не хотелось, чтобы у меня был фокус, когда впервые появляется окно.

Ответы [ 2 ]

2 голосов
/ 24 сентября 2011

Окно имеет привязку initialFirstResponder, которая показывает, какой элемент управления будет активным, когда окно станет активным.Измените initialFirstResponder или настройте параметры просмотра таблицы в конструкторе интерфейса, чтобы скрыть кольцо фокусировки

1 голос
/ 06 июля 2017

Лучший способ, которым я нашел способ остановить любой элемент управления от первого респондента при первом отображении окна, - это контроллер окна:

Swift 3:

class YourWindowController: NSWindowController {

    override func windowDidLoad() {
        super.windowDidLoad()

        // Wait a frame before setting the first responder to be the window itself.
        // We can't just set it right now, because if the first responder is set
        // to the window now the system just interprets that as meaning that we
        // want the default behavior where it automatically selects a view to be
        // the first responder.
        DispatchQueue.main.async {
            window!.makeFirstResponder(nil)
        }
    }

}

Это грязно, и иногда, когда загружается окно, вы видите, что кольцо фокусировки начинает появляться на одном из элементов управления для одного кадра, но я пока не нашел лучшего способа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...