Изменить положение UISearchController в Swift
У меня есть UITableView, который имеет UISearchController (добавлен программно). SearchController добавлен в заголовок TableView (скриншот 2). Тем не менее, я хочу, чтобы в середине экрана сначала отображалось окно поиска, когда открывается приложение, а после того, как пользователь начинает поиск, появляется TableView и начинают отображаться данные (скриншот 1).
Я пытаюсь добавить UISearchBar в Storyboard и подключить его к UISearchController, но не могу назначить его напрямую.
let searchController = UISearchController(searchResultsController: nil)
override func viewDidLoad() {
super.viewDidLoad()
// Setup the Search Controller
searchController.searchResultsUpdater = self
searchController.dimsBackgroundDuringPresentation = false
definesPresentationContext = true
mTableView.tableHeaderView = searchController.searchBar }
2 ответа
1# Вы можете обойти эту точку, изменив размер и положение табличного представления в начале просмотра табличного изображения на середину экрана, как вы хотите, после начала поиска пользователя вы можете изменить фрейм на View Boundary
2 # Better => вы можете использовать UItextField, чтобы создать свой собственный Controler для поиска и настроить его как хотите
Я решаю это, создав UIView внутри раскадровки и добавив searchcontroller внутри представления.
- Создать UIView в раскадровке
- Добавить IBOutlet
- Добавить SearchController в качестве подпредставления UIView.