除非按下右侧的搜索按钮,否则我不希望用户看到UISearchBar
。
我切换UISearchBar
没问题。我使用以下代码执行此操作:
- (void)viewDidLoad{
[super viewDidLoad];
// Hide searchBar
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];
}
- (IBAction)toggleSearchbar:(id)sender{
NSTimeInterval delay;
if(self.tableView.contentOffset.y > 1000){
delay = 0.4;
} else{
delay = 0.1;
}
[self performSelector:@selector(activateSearch) withObject:nil afterDelay:delay];
}
- (void)activateSearch{
[self.tableView scrollRectToVisible:CGRectMake(0.0, 0.0, 1.0, 1.0) animated:NO];
[self.searchDisplayController.searchBar becomeFirstResponder];
}
向上推UINavigationBar
并显示UISearchBar
。我的问题是结束搜索。然后我想要反转效果。 UINavigationBar
应从顶部向下,再次覆盖UISearchBar
。现在UINavigationBar
从顶部向下移动并向下推UISearchBar
。我希望UISearchBar
保持在最顶层,以便UINavigationBar
在下降时覆盖它。
答案 0 :(得分:0)
如果您使用UISearchDisplayController
,则可以覆盖searchDisplayControllerDidEndSearch:
的{{1}}方法。或者,您可以覆盖UISearchDisplayDelegate
类的searchBarSearchButtonClicked:
方法。