ответ

1

Пожалуйста, смотрите отличный ответ Бенджамина здесь: https://stackoverflow.com/a/27129481/1505096

Вкратце: используйте UIViewController со встроенным UITableView, не UITableViewController. Первое дает вам возможность делать все, что угодно, с табличным представлением, в том числе запрошенным поведением, которое вы ищете, в то время как в последнем самом представлении есть табличный вид, поэтому вы гораздо более ограничены тем, что вы могут делать вне обычной парадигмы дизайна.

Воспроизведение с помощью UIScrollViewDelegate и корректировка кадров в нем - как я видел во многих ответах SO - это взломать, и вам не нужно прибегать к этому придирчивому делу.

+0

Спасибо! Это помогает – Adelmaer

3
  1. Используйте UIViewController вместо UITableViewController
  2. Добавить подвид чуть ниже строки состояния, это размер UISearchBar
  3. Добавить Tableview прямо под подвид
  4. Подключите отводы, DataSource и делегат
  5. Используйте AutoLayout, чтобы сохранить вид в позиции
  6. В методе viewDidLoad настройте свой UISearchController, как обычно, но вместо настройки searchController searchBar в качестве таблицы Просмотрите заголовок, добавьте его в качестве подсмотра представления, которое вы сделали в storyBoard
  7. Вот и все ... Просто опубликуйте на случай, если кому-то интереснее.
+0

, нет ли более простого способа достижения этого? это выглядит довольно сложно для управления –

+3

Это довольно просто, вот ссылка на демо: https://github.com/ksenior1/FixedSearchBar – user2669841

+0

Работает гладко! И это проще реализовать, чем кажется. спасибо –

Смежные вопросы