Полностью скрыть панель поиска

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

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

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

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];

person user1904273    schedule 03.01.2016    source источник
comment
UISearchBar является подклассом UIView, поэтому он также имеет свойство .hidden.   -  person nsinvocation    schedule 03.01.2016
comment
Вы также можете аннулировать или удалить панель поиска из self.tableView.tableHeaderView.   -  person nsinvocation    schedule 03.01.2016
comment
Это один из способов сделать это, не оставляя пустого места. stackoverflow .com/questions/24593599/   -  person Adrian    schedule 03.01.2016


Ответы (1)


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

searchBar.hidden = true

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

person marmikshah    schedule 03.01.2016