Или это простой способ реализовать панель поиска вручную на всех необходимых представлениях правильно? Мне нужно добавить поисковую панель почти для каждого вида в моем приложении (в дополнение к тому, чтобы добавить кнопку на каждой навигационной панели просмотров). Но я не уверен, каков наилучший подход для достижения этой цели.
Как добавить панель поиска UIS в каждое представление
- Должен ли я подклассифицировать навигационную панель или весь навигационный контроллер?
- Или простой способ реализовать панель поиска вручную на всех необходимых представлениях правильно?
Если я должен подкласс, какой класс является правильным? Моя идея заключается в подклассе UINavigationController
, добавьте UISearchBar
и после того, как результаты поиска будут отобраны, чтобы открыть UITableViewController
с результатами поиска.
Это мой нынешний подход (без реализации SearchBar делегата просто проверить, если я нахожусь на рабочем растворе)
import UIKit
class MyNavigationControllerViewController: UINavigationController {
var searchController : UISearchController!
override func viewDidLoad() {
super.viewDidLoad()
self.navigationBar.backgroundColor = UIColor.red
self.createSearchBar()
}
func createSearchBar() {
let searchBar = UISearchBar()
searchBar.showsCancelButton = true
searchBar.placeholder = "Search"
// searchBar.delegate = self
self.navigationItem.titleView = searchBar
}
}
По крайней мере, отладчик не входит MyNavigationController
но ни Searchbar видно ни красный панель навигации.
Извините, но из-за ошибки копирования буфера обмена на моем mac при редактировании вашего вопроса я скопировал предложения. Я рассчитывал, что запрос на редактирование будет отклонен, и SO не имеет функции _edit cancel_. Не могли бы вы правильно переформулировать вопрос? – ystack