是不是可以将UISearchBar放在UITableView标头中?

pra*_*jul 8 uitableview uisearchbar uisearchbardelegate reloaddata

我想完成这个:

考虑在其标题上带有搜索栏的表格视图.每当搜索字符串时,都会刷新表格视图.

我有2节课

TableViewController(UIViewController子类)

包含UITableView - 显示其表格

从Header类(UIToolBar子类)加载表的标题视图

.

Header(UITableView的标题)
- 包含UISearchBar及其委托

UISearchBarDelegates在TableViewController中回调函数

那叫

- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation  
Run Code Online (Sandbox Code Playgroud)

这会导致App崩溃

函数调用栈帧是如下

[UITableView reloadSections:withRowAnimation:]  
[TableViewController functionThatCallsReloadSection]  
[Header searchBarSearchButtonClicked:]  
Run Code Online (Sandbox Code Playgroud)

reloadSection导致应用程序崩溃.任何想法为什么会这样发生?

是因为在重新加载表视图头时,委托函数仍然在堆栈上处于活动状态?

我没有改变任何与tableview相关的事情(行数或部分数没有变化).我想做的就是重新加载表视图.

编辑:我试图在iPad上做所有这些事情,它提供了一个popover同时使用UISearchDisplayController,我不想使用.我已经有一个表格视图,我想刷新一旦输入文本和搜索按钮被击中,使用搜索代表.唯一的问题是,一旦我在UISearchBar的搜索委托中调用[UITableView reloadSection:](UISearchBar位于我想要重新加载的UITableView的标题上),应用程序崩溃了.

pra*_*jul 1

我能够通过使用 tableViewHeader 来解决问题,而不是使用表视图标头委托方法加载表视图标头,其中我使用初始化为表视图标头的指针。