Изменить положение UISearchController в Swift

У меня есть UITableView, который имеет UISearchController (добавлен программно). SearchController добавлен в заголовок TableView (скриншот 2). Тем не менее, я хочу, чтобы в середине экрана сначала отображалось окно поиска, когда открывается приложение, а после того, как пользователь начинает поиск, появляется TableView и начинают отображаться данные (скриншот 1).

Я пытаюсь добавить UISearchBar в Storyboard и подключить его к UISearchController, но не могу назначить его напрямую.

Снимок экрана 2 Снимок экрана 1

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 внутри представления.

  1. Создать UIView в раскадровке
  2. Добавить IBOutlet
  3. Добавить SearchController в качестве подпредставления UIView.
Другие вопросы по тегам