У меня есть класс UIViewController, который содержит UITableView. В заголовке табличного представления у меня есть UIToolbar, содержащий, среди прочего, UISearchBar. В iOS8, когда я нажимаю на строку поиска для поиска, контроллер отображения поиска анимирует панель в верхней части экрана, как ожидалось, но панель поиска не имеет поля в левой части.iOS8 UISearchBar в UIToolbar не имеет левой прокладки
Наиболее урезанная кода, воспроизводящий выглядит следующим образом:
- (void)viewDidLoad {
[super viewDidLoad];
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0, 0.0, [self tableView].frame.size.width, 44.0)];
if ([toolbar respondsToSelector:@selector(setBarTintColor:)]) {
[toolbar setBarTintColor:[UIColor lightGrayColor]];
}
[[self tableView] setTableHeaderView:toolbar];
UIView *searchBarView = [[UIView alloc] initWithFrame:[[[self searchDisplayController] searchBar] frame]];
[[[self searchDisplayController] searchBar] setBackgroundImage:[[UIImage alloc] init]];
[searchBarView addSubview:[[self searchDisplayController] searchBar]];
[[[self searchDisplayController] searchBar] setText:@""];
UIBarButtonItem *searchBarItem = [[UIBarButtonItem alloc] initWithCustomView:searchBarView];
[toolbar setItems:@[searchBarItem]];
}
Любая помощь/предложения высоко оценили.
Edit: Это работает правильно прошивкой 6.1 и 7,0/1
ответы со ссылками на внешние ссылки только устареет, если эти ссылки не работают. Пожалуйста, укажите некоторые описания и коды о том, как контент в вашей ссылке поможет ответить на вопрос OP. –