hide UISearchBar below UINavigationBar after cancelButton was called
I'm typically using [self.tableView setContentOffset:CGPointMake(0,40)];
in order to hide the UISearchBar (that I set as header of the tableView) below the navigationBar. Everything works well in viewDidLoad: the searchBar is below the navigationBar when the view is loaded. Then I put the same line of code
[self.tableView setContentOffset:CGPointMake(0,40)]
in
- (void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller
but it does anything: the searchBar remain visible when cancel Button is clicked. What's wrong?
以下方法应该这样做:
-(void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller{
[self.tableView setContentOffset:CGPointMake(0,40)];
}
Is the method below being called from the main thread?
- (void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller
You can check like this:
if ([NSThread isMainThread]) {
NSLog(@"Yes it is the main thread.");
}
Otherwise, any view changes will not register on screen. If you must modify the view from a separate thread you can use this:
[self performSelectorOnMainThread:@selector(XXX) withObject:nil waitUntilDone:NO];
I'm not sure if that's your issue, but it's where I'd start to look.
链接地址: http://www.djcxy.com/p/44270.html上一篇: 键盘在触摸时不显示