iOS 13 SearchController Назад Кнопка Цвет - PullRequest
3 голосов
/ 14 октября 2019

У меня странная визуальная ошибка в моем приложении, которая относится только к iOS 13, работающей из сборки Xcode 11. У меня есть табличное представление, встроенное в Navigation Controller, с цветом оттенка по умолчанию, установленным на основной оранжевый цвет моего приложения. На iOS12, когда вы отменяете действие поиска, вам предоставляется кнопка «Назад», которая следует за оттенком глобального навигационного контроллера основного оранжевого цвета. Это ожидаемое поведение. Изображение, показанное ниже: Orange Back Arrow in iOS12

Однако этот же код в iOS13 выдает СИНЮЮ стрелку назад по умолчанию, как показано ниже:

enter image description here

Я пытался ВСЕ, чтобы попытаться переопределить эту синюю кнопку «Назад», включая создание пользовательского элемента панели кнопок с настраиваемым действием, но это слишком запутанно, и я хочу просто переопределить цвет оттенка,Я попробовал очевидное searchController.searchBar.tintColor = UIColor(named:"Primary"), где searchController - это мой UISearchController, и я попытался переопределить оттенок self.navigationController. Я попытался получить доступ к SearchBar изначально, как это: UISearchBar.appearance().tintColor = UIColor(named:"Primary"), но все равно не повезло. Я попробовал все остальное, что могу придумать в IB, но не могу понять, как достичь цвета оттенка этой кнопки назад. Кто-нибудь может помочь?

Ответы [ 2 ]

2 голосов
/ 16 октября 2019

Единственный способ найти это исправление на iOS13.1, которое я нашел до сих пор, - это перебрать подпредставления в панели навигации и вручную изменить tintColor.

Ни один из новых методов UINavigationBarAppearance не выглядитони решают проблему. Если вы изменили backButtonAppearance в UINavigationBarAppearance, мне удалось исправить заголовок в кнопке «Назад», но я не нашел способа исправить изображение (<). </p>

0 голосов
/ 14 октября 2019

попробуйте

override func viewWillAppear(_ animated: Bool) {
        self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
        self.navigationItem.backBarButtonItem?.tintColor = .blue
}

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