2014-01-10 3 views
1

Я не хочу, чтобы UISearchBar был видимым для пользователя, если не нажата кнопка поиска справа.Скрыть UISearchBar под UINavigationBar при завершении поиска

enter image description here

У меня нет никаких проблем, чтобы переключить 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

Если вы используете UISearchDisplayController, вы можете переопределить searchDisplayControllerDidEndSearch: метод UISearchDisplayDelegate. Или вы можете переопределить метод searchBarSearchButtonClicked: класса UISearchBarDelegate.

+0

Да Я использую 'UISearchDisplayController'. Я попытался сделать '[self.tableView scrollToRowAtIndexPath: [NSIndexPath indexPathForRow: 0 inSection: 0] atScrollPosition: UITableViewScrollPositionTop анимированный: NO];' в 'searchDisplayControllerDidEndSearch:', но это сначала снимает 'UINavigationBar' и' UISearchBar' и когда это сделано, UISearchBar'а оживляет резервное копирование. Я не хочу, чтобы 'UISearchBar' был анимирован с помощью' UINavigationBar'. –

Смежные вопросы