我有一个TableView
以及底部的搜索按钮。我希望搜索按钮能够让SearchBar
在顶部弹出并成为焦点。否则,不应显示SearchBar
。
将搜索栏放在TableView
上方很容易,但有没有办法用动画隐藏/显示它?
感谢。
答案 0 :(得分:3)
这对我有用。希望它有所帮助。
在viewWillAppear中调用[self hideSearchBar](这将最初隐藏搜索栏)。
您的搜索按钮应采取以下措施:
- (IBAction)searchIconButtonClicked {
if (self.searchDisplayController.isActive || (self.tableView.contentOffset.y < 44)) {
if (self.searchDisplayController.isActive) {
self.searchDisplayController.searchBar.text = nil;
[self.searchDisplayController setActive:NO animated:YES];
[tableView reloadData];
}
[self hideSearchBar];
} else {
[self.patientTableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
}
}
- (void)hideSearchBar {
//NSLog(@"Hiding SearchBar");
[self.tableView setContentOffset:CGPointMake(0,44)];
}
答案 1 :(得分:1)
您是否尝试过使用-[UITableView scrollRectToVisible:animated:]
方法?我认为UISearchBar
视图通常只是表格上的标题视图,因此您应该可以要求表格视图向上滚动以显示搜索栏。