Как заставить UISearchBar в UINavigationBar изменять размер только левого поля с помощью анимации блока?

Я пытаюсь дублировать анимацию UISearchBar в мобильном Safari. Вместо того, чтобы перемещать только левое поле, UISearchBar расширяет экран и затем «перескакивает» в нужное место. Сокращение также неравномерно. Как я могу сделать эту анимацию, даже как UISearchBar в мобильном сафари?

searchBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0,0,175,44)] autorelease]; searchBar.delegate = self; searchBar.showsCancelButton = YES; searchBar.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth; UIBarButtonItem *customBarItemRight = [[[UIBarButtonItem alloc] initWithCustomView:searchBar] autorelease]; tabBarController.navigationItem.rightBarButtonItem = customBarItemRight; - (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { searchDisplayController.searchResultsTableView.hidden = NO; [UIView animateWithDuration:.3 animations:^ { CGRect newBounds = searchBar.bounds; newBounds.size.width = 350; searchBar.bounds = newBounds; }]; [searchDisplayController setActive:YES animated:YES]; } 

Вы не должны использовать UISearchDisplayController для этого, вам нужно реализовать анимацию для своего настраиваемого контроллера представлений.

  • UITableView с UISearchBar, поскольку заголовок вызывает сбои
  • SearchBar в NavigationBar IOS 11
  • Сломанная анимация UISearchBar, встроенная в NavigationItem
  • Храните uisearchbar в месте, когда пользователь выбирает поиск
  • Преобразование строки поиска из UISearchBar в MK MapView Address
  • Вопрос iOS7 с текстовым дополнением к заполнителю UISearchBar
  • При назначении фокуса через startFirstResponder для UISearchBar UISearchController, клавиатура не появляется
  • Как я могу программно принудительно выполнить поиск в UISearchBar?
  • Обнаруживать, когда пользователь остановился / приостановил ввод текста в Swift
  • Как добавить панель поиска над UICollectionView?
  • как искать содержимое таблицы в iOS?
  • Давайте будем гением компьютера.