В некоторых типах устройств, в основном в 6 с, UISearchController
не охватывает полностью.
//Init search controller
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
UISearchBar *searchBar = self.searchController.searchBar;
searchBar.frame = self.searchBarHolder.bounds;
self.searchController.searchResultsUpdater = self;
self.searchController.delegate= self;
self.searchController.searchBar.delegate=self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.hidesNavigationBarDuringPresentation = NO;
[self.searchBarHolder addSubview:searchBar];
[self.searchBarHolder layoutIfNeeded];
[searchBar sizeToFit];
, где searchBarHolder
устанавливается в раскадровке с ограничениями trailing-0, top-0, leading-0, height - 45
Этовыдает следующий результат:
![enter image description here](https://i.stack.imgur.com/tXXH7.png)
, и после нажатия на строку поиска она будет becomeFirstResponder
, а затем отображается правильно.
![enter image description here](https://i.stack.imgur.com/g5Xry.png)
Понятия не имею, почему он отображается именно так.
Этот UIViewController
встроен в UINavigationCOntroller
, и он встроен в UITabBarController
как один из элементов вкладки.