Через Storyboard я создал ViewController с UITableView и SegmentedControl сверху. Программно, я добавил SearchController в качестве заголовка TableView.iOS - segmentedControl исчезает после использования searchBar
Это то, что происходит при запуске приложения: Работает отлично.
Но когда я нажимаю на панели поиска, он уже путает немного. Это легко исправить, скрывая SegmentedControl.
Теперь проблема возникает, когда я закончу свой поиск:
SegmentedControl исчезает. Всякий раз, когда я снова нажимаю на поисковую панель, он возвращается, как на картинке номер 2, но если я снова отменяю, он исчезает.
Я попытался удалить его из представления и добавить его снова, как только пользователь перестает искать, но ничего не меняет. Вот мой код:
searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
searchController.searchResultsUpdater = self;
searchController.dimsBackgroundDuringPresentation = NO;
searchController.searchBar.delegate = self;
self.tableView.tableHeaderView = searchController.searchBar;
searchController.searchBar.scopeButtonTitles = @[];
self.definesPresentationContext = YES;
[searchController.searchBar sizeToFit];
Что я могу изменить?
Вы пытались не использовать сегментированный элемент управления и просто использовать панель видимости панели поиска uisearchcontroller? Это устранит многие проблемы с макетом, которые у вас есть. – beyowulf
Довольно сумасшедший Я никогда не думал об этом. Он работает, но не полностью ... как я могу всегда отображать панель областей, даже если пользователь не ищет? –