IOS8 UISearchController отображает панель поиска напрямую

Я пытаюсь отобразить простой экран поиска для своего приложения для iphone с помощью UISearchController. Я использовал UITableViewController и UISearchController, которые я встроил в UINavigationController.

  • Это дает мне следующий экран (состояние 1)

контроллер поиска с панелью навигации

  • Когда пользователь нажимает на поле поиска, я получаю экран ниже (состояние 2): строка поиска красиво отображается в верхней части экрана под строкой состояния.

searchcontroller активирован

Я хочу сразу получить состояние 2, не переходя в состояние 1.

Я пытался добавить этот код

presentViewController(searchController, animated: true, completion: nil)

но он либо не показывает панель поиска, если анимация ложна, либо отображает ее так, как я хочу, но после ненужного перехода, который временно показывает панель навигации


person Pierre    schedule 09.01.2015    source источник
comment
Ваш вопрос не имеет смысла. Вы тот, кто поместил поле поиска в качестве заголовка представления таблицы для начала (состояние 1). Если это не то, чего вы хотели, почему вы это сделали? Если вы хотите, чтобы поле поиска находилось на панели навигации, почему вы не поместили его вместо этого на панель навигации?   -  person matt    schedule 09.01.2015


Ответы (1)


Хорошо, я только что нашел, как это сделать, прочитав этот ответ UISearchController в UIViewController

Мне просто нужно добавить такую ​​панель поиска, чтобы получить желаемый эффект.

    searchController.hidesNavigationBarDuringPresentation = false
    // tableView.tableHeaderView = searchController.searchBar
    navigationItem.titleView = searchController.searchBar
person Pierre    schedule 09.01.2015