Для iOS11 я обнаружил, что это работает:
После установки searchController
в navigationItem
текст поиска был черным по черному. Чтобы сделать его белым, мне нужно было сделать:
searchController.searchBar.barStyle = .blackTranslucent
Это было единственное, что сработало для меня. У моего приложения есть прозрачная панель навигации, чтобы пропустить фоновый градиент, и я предполагаю, что SearchBar приобретает этот вид, поскольку мои настройки внешнего вида для UISearchBar
были в основном проигнорированы с одним исключением:
UISearchBar.appearance().tintColor = UIColor.red
Это сделало кнопку Отмена и курсор вставки текста красным. Текст заполнителя был светло-серым.
Обратите внимание: UISearchBar.appearance().barStyle = .blackTranslucent
не сработало - его нужно было установить на экземпляре. Это также не оказало видимого влияния на панель поиска (она была прозрачна, как панель навигации); он просто сделал текст поиска белым.