2016-01-03 2 views
1

Я бы хотел показать строку поиска, когда пользователь нажимает кнопку поиска. Я обнаружил, что многие люди используют смещение, чтобы скрыть панель поиска при запуске. Однако есть ли способ скрыть его, что-то вроде свойства .hidden?Полностью скрыть строку поиска

Это подход смещения, но панель поиска по-прежнему там временно смещается наружу. Я бы хотел, чтобы он действительно исчез, если только не понадобится.

Я предполагаю, что другой подход заключается в создании нового контроллера представлений и его запуске при нажатии кнопки поиска, но это дополнительные накладные расходы. Особенно, поскольку у меня есть несколько этих табличных представлений. Thx для любых идей.

in ViewDidLoad: 
UISearchBar *searchBar; 
    searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 70, 320, 44)]; 
    searchBar.showsCancelButton = YES; 
    searchBar.delegate = self; 
    self.tableView.tableHeaderView = searchBar; 



In viewWillAppear: 

[self.tableView setContentOffset:CGPointMake(0.0, self.tableView.tableHeaderView.frame.size.height) animated:YES]; 
+0

UISearchBar подкласс UIView поэтому он также .hidden свойство – azimov

+0

Вы также можете аннулировать или удалить SearchBar из self.tableView.tableHeaderView – azimov

+0

Это один из способов сделать это, не выходя из пустого пространства. http://stackoverflow.com/questions/24593599/how-to-animate-add-uisearchbar-on-top-of-uinavigationbar – Adrian

ответ

1

Вы можете использовать скрытое свойство
Чтобы скрыть панель поиска используйте

searchBar.hidden = true 

Чтобы отобразить только установить его на ложь!
Надеюсь, что это помогает

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