UISearchBar.appearance () не работает в iOS13 - PullRequest
1 голос
/ 24 сентября 2019

Итак, я хотел сделать несколько пользовательских стилей на моих панелях поиска внутри моих контроллеров навигации с большими заголовками, которые настроены так:Мне не нужно стилизовать его в каждом представлении, которое я буду создавать.Так что я пошел дальше и подумал подключить несколько вещей из iOS13, например, вот так:

let searchBar = UISearchBar.appearance(whenContainedInInstancesOf: [UINavigationBar.self])

if #available(iOS 13.0, *) {
    searchBar.barStyle                           = searchBarStyle
    searchBar.searchTextField.backgroundColor    = searchBarBackground
    searchBar.searchTextField.textColor          = searchBarTextColor
    searchBar.tintColor                          = searchBarTint
}

После запуска это работает не так, как ожидалось.Устанавливается только tintColor, и больше ничего.Как только я иду к своему контроллеру представления и выполняю следующее, оно работает:

var searchController = UISearchController()

searchController.obscuresBackgroundDuringPresentation = false
searchController.searchBar.searchTextField.backgroundColor = .red

Есть идеи, что мне не хватает в настройке внешнего вида, чтобы заставить это работать так же, как в моем контроллере представления?

...