切换iOS中的搜索栏
问题描述:
我有一个TableView
以及底部的搜索按钮。我想要搜索按钮使SearchBar
在顶部弹出并进入焦点。否则,不应该显示SearchBar
。切换iOS中的搜索栏
将搜索栏放在TableView
上方很容易,但是有没有办法用动画隐藏/显示它?
谢谢。
答
您是否尝试过使用-[UITableView scrollRectToVisible:animated:]
方法?我认为UISearchBar
视图通常只是表格中的标题视图,因此您应该可以请求表格视图向上滚动以显示搜索栏。
答
这适用于我。希望能帮助到你。
在您的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)];
}
+0
感谢兄弟。像我想要的那样工作 – khalil
这样的作品,但搜索栏仍然是默认可见,因为它已被指定为'tableView.tableHeaderView'。此外,它的笨拙,因为tableview必须一直滚动到顶部才能访问'UISearchBar'。我正在寻找一种方法来显示“UISearchbar”,直到搜索按钮被点击。现在,一个'UISearchDisplayController'接近我想要的,尽管它最初并没有隐藏'UISearchBar'。 – user1032657