Как убрать видимый фокус с панели навигации? - PullRequest
1 голос
/ 03 апреля 2020

В версии Ma c Catalyst для моего приложения для iPad элемент кнопки «Назад» на панели навигации визуально фокусируется, если на экране нет текстового поля.

Я хочу всегда иметь элемент не заметно сфокусирован, но я не могу найти способ.

Экран, на котором сосредоточен элемент, содержит UITableView, поэтому я попытался сделать таблицу первым отвечающим с becomesFirstResponder(), но это не сработало. Я также попытался resignFirstResponder() в моем подклассе UINavigationController, но он тоже не работал.

Как я могу это сделать?

Что касается , почему : хотя мне не нравится визуальный результат, это не настоящая причина, почему я хочу, чтобы панель навигации не быть сосредоточенным. Это потому, что я внедряю меню с buildMenu(with builder: UIMenuBuilder) в каждом viewController, и меню включаются, только если viewController имеет фокус - если панель навигации имеет фокус, меню отключены.


Элемент не сфокусирован, когда на экране есть текстовое поле, вот что я хочу на всех экранах:

item not focused

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

enter image description here

Примечание: когда я нажимаю на tableView, элемент навигации теряет фокус. Вот почему я думал, что создание tableView firstResponder будет работать - я не уверен, почему это не так.

Кроме того, с этого экрана, где фокусируется кнопка возврата, если мы go, на другой экран, который имеет UITextView, который является первым респондентом, кнопка «Назад» больше не фокусируется (потому что текстовое представление является первым респондентом), затем, когда мы go возвращаемся к экрану tableView, кнопка «Назад» также больше не фокусируется.

...