iOS 11: добавьте другие элементы навигации рядом с панелью поиска, встроенной в представление заголовка элемента навигации

В iOS 11 мы сейчас используем

self.navigationItem.searchController = self.searchController

встроить панель поиска в вид заголовка элемента навигации. Это, однако, выдвигает другие элементы навигации над панелью поиска, например так:

Без использования пользовательских контейнеров или возврата к старому способу настройки панели поиска, есть ли способ сохранить другие элементы навигации на том же уровне, что и панель поиска в iOS 11? Как это:

1 ответ

Вы можете попытаться добиться этого, изменив кнопку отмены следующим образом:

let searchController = UISearchController(searchResultsController: nil)
searchController.searchBar.showsCancelButton = true
if let view = searchController.searchBar.subviews.first {
    for subview in view.subviews {
        if let myButton = subview as? UIButton {
            // setup button
            myButton.setTitle("", for: .normal)
            let image = UIImage(named: "myImage")
            myButton.setBackgroundImage(image, for: .normal)
        }
    }
}
navigationItem.searchController = searchController
Другие вопросы по тегам