Я немного застрял здесь.У меня есть панель поиска, встроенная в панель навигации в качестве заголовка, который я хочу.
Однако затем я хотел бы перейти к другому контроллеру представления, содержащему UIsearchcontroller в представлении коллекции, и при нажатии отмены пользователь возвращается к предыдущему представлению.(Очень похоже на использование контроллера панели поиска в Facebook или Instagrams)
Можно ли в любом случае использовать панель поиска в качестве кнопки для перехода к следующему контроллеру представления, который обрабатывает все функции поиска?
Это то, что у меня есть для панели поиска.
func setUpNavBar() {
let searchBar = UISearchBar()
searchBar.sizeToFit()
searchBar.searchBarStyle = .minimal
searchBar.placeholder = "Search by username"
searchBar.tintColor = UIColor.lightGray
searchBar.barTintColor = UIColor.lightGray
navigationItem.titleView = searchBar
searchBar.isTranslucent = true
}
Редактировать
Просто добавьте ответ ниже, если кто-нибудь сталкиваетсяэто и вы хотите получить эффект, который обрабатывает панель поиска как кнопку, используя
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
self.present(UINavigationController(rootViewController: SearchBarController()), animated: true, completion: nil)
searchBar.setShowsCancelButton(false, animated: true)
return false
}
Таким образом, когда вы нажимаете панель поиска, вы не получаете эффект, который показывает панель поиска активным, (если это имеет смысл).Когда вы нажимаете на панель поиска, это не дает никакого эффекта, оно просто приводит вас к (реальному) контроллеру поиска, тогда панель поиска активна и клавиатура отображается с кнопкой отмены.Я надеюсь, что это имеет смысл, если кто-то захочет получить пример, зайдите в Instagram, FB или Pinterest и нажмите на их строку поиска или значок поиска, и вы увидите.