【发布时间】:2016-03-20 11:47:10
【问题描述】:
我有两个视图控制器,每个控制器包含UISearchController 和一个UITableView。 viewDidLoad 中的代码是:
SearchResultsTableViewController *searchResultController = [[SearchResultsTableViewController alloc]initWithNibName:@"SearchResultsTableViewController" bundle:nil];
UINavigationController *navSearchResultsController = [[UINavigationController alloc] initWithRootViewController:searchResultController];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:navSearchResultsController];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = YES;
[self.searchController.searchBar sizeToFit];
self.searchController.searchBar.delegate = self;
self.searchController.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
self.tableView.userInteractionEnabled = YES;
第一个视图控制器是rootViewController,它可以完美运行,没有任何问题。第二个视图控制器正在通过基于段选择的导航控制器推送。
[self.navigationController pushViewController:self.vc];
第二个视图控制器只有一个问题。当我点击searchBar 时,它会动画到顶部并进入导航栏下方,而第一个动画会在其位置动画并且不会上升。
谁能告诉我如何禁用这个动画?
我想在搜索时将searchBar 保留在同一位置。两个视图控制器的实现完全相同。为什么每个人的行为不同?
谢谢,
【问题讨论】:
-
我不明白这个
the second view controller is being pushed via the navigation controller based on segment selection. -
我的意思是有一个分段控制器。当我点击第二个段时,它会导航到第二个 viewController。
标签: ios objective-c uitableview uisearchcontroller