【发布时间】:2014-12-21 21:52:58
【问题描述】:
我在初始 UIViewController 中添加了一个 UISearchBar,一切正常。但是,当我添加相同的 UISearchBar 时,以相同的方式添加到另一个 ViewController,它被推到第一个之上,当我单击 searchBar 时似乎没有发生任何事情。没有委托方法被触发,没有键盘出现,什么都没有。
这就是我将它添加到导航栏的方式:
- (void)viewDidLoad {
[super viewDidLoad];
UITableViewController *searchResultsController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
searchResultsController.tableView.dataSource = self;
searchResultsController.tableView.delegate = self;
self.searchResults = [NSMutableArray array];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController];
self.searchController.searchResultsUpdater = self;
self.searchController.hidesNavigationBarDuringPresentation = NO;
self.searchController.searchBar.placeholder = NSLocalizedString(@"Search, eh?", nil);
// Include the search bar within the navigation bar.
self.navigationItem.titleView = self.searchController.searchBar;
self.definesPresentationContext = YES;
}
就像我说它在第一个 UIViewController 中工作一样,我是否在我尝试添加的其他 2-3 个视图控制器中遗漏了一些东西?我不明白为什么 searchBar 会出现在导航栏中,但是单击它时什么也没有发生。我也这样设置了委托:
@interface ViewController () <UISearchResultsUpdating>
【问题讨论】:
标签: ios objective-c uiviewcontroller uisearchbar