Как я могу сделать запуск UISearchController скрытым?

Я добавил UISearchController в свой код, используя следующий метод:

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.scopeButtonTitles = @[];
self.searchController.searchBar.delegate = self;

self.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];
self.definesPresentationContext = YES;

Это создает мой контроллер поиска и добавляет его в верхнюю часть моего tableView. Досадно, что он начинает отображаться:

введите здесь описание изображения

Я могу скрыть его, сдвинув его вверх под панелью навигации, что говорит о том, что основная функциональность кода работает, но я не могу заставить его начать скрывать, поэтому я могу сдвинуть его вниз.

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

Любая помощь очень приветствуется


person simon_smiley    schedule 05.06.2015    source источник


Ответы (3)


Вы пытались установить смещение содержимого вашего табличного представления?

[self.tableView setContentOffset:CGPointMake(0, self.searchController.searchBar.frame.size.height) animated:NO];
person aksh1t    schedule 05.06.2015
comment
Я знал, что это что-то вроде этого, поэтому я продолжал возвращаться к edgeInsets! - person simon_smiley; 05.06.2015

Вот для быстрого 4

tableView.setContentOffset(CGPoint(x: 0, y: searchController.searchBar.frame.size.height), animated: true)
person Pavle Mijatovic    schedule 20.01.2018

Начиная с iOS 11.0, вы можете использовать

self.navigationItem.searchController = self.searchController;

Панель поиска будет скрыта, если вы не проведете пальцем вниз, чтобы открыть ее.

person Ashirvad Jena    schedule 18.07.2018