Разве невозможно поместить UISearchBar в заголовок UITableView? - PullRequest
8 голосов
/ 12 марта 2012

Я пытаюсь сделать это:

Рассмотрим табличное представление с панелью поиска в заголовке. Представление таблицы обновляется при поиске строки.

Яс 2 классами

TableViewController (подкласс UIViewController)

содержит UITableView - показывает таблицу, чье представление заголовка

таблица загружается из класса Header (подкласс UIToolBar)

.

Header (заголовок UITableView)
-Contains UISearchBar и его делегат

UISearchBarDelegates вызывают функцию в TableViewController

, которая вызывает

- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation  

что приводит к сбою приложения

кадр стека вызовов функции выглядит следующим образом

[UITableView reloadSections:withRowAnimation:]  
[TableViewController functionThatCallsReloadSection]  
[Header searchBarSearchButtonClicked:]  

reloadSection вызывает сбой приложения. Есть идеи, почему это происходит так?

Это потому, что функция делегата все еще активна в стеке, пока заголовок табличного представления перезагружается ??

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

Отредактировано: я пытаюсь делать все эти вещи в iPad, который обеспечивает всплывающее окно во времяиспользуя UISearchDisplayController, который я не хочу использовать. У меня уже есть табличное представление, которое я хочу обновить после ввода текста и нажатия кнопки поиска, используя делегат поиска.Единственная проблема состоит в том, что, как только я вызываю [UITableView reloadSection:] в поисковом делегате UISearchBar (UISearchBar находится в заголовке UITableView, который я хочу перезагрузить), приложение вылетает.

1 Ответ

1 голос
/ 22 марта 2012

Мне удалось решить проблему, используя tableViewHeader вместо loadind заголовка табличного представления, используя метод делегата заголовка табличного представления, где я использовал указатель, инициализированный для заголовка табличного представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...