У меня UITableViewController
с UISearchBar
в headerView
. При вводе строки для поиска строки состояния отображается неправильно. Все делегаты и торговые точки находятся на своем месте.UISearchDisplayController рама не отображается с верхнего края с автоматическим расположением
UPDATE:
Временное исправление, которое лично мне не нравится, но он все еще работает (движение анимация выглядит плохо в любом случае):
- (void)resizeSeachBarBackground
{
for (UIView *view in self.searchDisplayController.searchBar.subviews)
{
if ([view respondsToSelector:@selector(subviews)])
{
for (UIView *view2 in view.subviews)
{
if ([view2 isKindOfClass:NSClassFromString(@"UISearchBarBackground")])
{
id UISearchBarBackground = view2;
if ([UISearchBarBackground respondsToSelector:@selector(frame)])
{
[UISearchBarBackground setFrame:CGRectMake(0, -20, CGRectGetWidth([UIScreen mainScreen].bounds), 64.0)];
break;
}
}
}
}
}
}
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
if (!self.navigationController.navigationBarHidden)
[self.navigationController setNavigationBarHidden:true animated:false];
[self resizeSeachBarBackground];
..
..
..
}
Если ваше приложение поддерживает только iOS8 +, вы должны смотреть на 'UISearchController' ([WWDC2014 видео - Look Inside Представление Контроллеры @ 13:38] (https://developer.apple.com/videos/wwdc/2014/#228-video)) – Crazyrems
Мое приложение поддерживает iOS 7.x и более поздние версии ... –