2012-03-12 18 views
8

我試圖做到這一點:是不是可以把UISearchBar放在UITableView頭文件中?

考慮使用搜索欄上的header.Table視圖表格視圖得到 刷新每當字符串搜索。

我有2類

TableViewController(UIViewController子類)

包含的UITableView - 那顯示了其

的頭部視圖是從加載的表Header類(UIToolBar子類)

部首(所述的UITableView的報頭)
- 包含的UISearchBar及其委託

UISearchBarDelegates回電的函數在TableViewController

調用

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

這會導致應用程序崩潰

函數調用棧幀如下

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

的reloadSection導致應用崩潰。任何想法,爲什麼它的發生呢?

是否因爲委託函數仍然在堆棧中處於活動狀態 而表視圖標題被重新加載?

我沒有改變任何與tableview相關的任何事情(沒有改變行數或節數)。我試圖做的只是重新加載表視圖。

編輯: 我試圖做的iPad,而使用UISearchDisplayController我不想use.I已經有了,我想一旦進入文本刷新表視圖和搜索提供了一個酥料餅的所有這些事情按鈕被擊中,使用搜索委託。 唯一的問題是,一旦我在UISearchBar的搜索委託(UISearchBar位於我想重新加載的UITableView的標頭)中調用[UITableView reloadSection:],應用程序崩潰。

+0

我應該實施搜索欄作爲不同的工具欄,而不是表視圖的標題? – prajul 2012-03-12 19:26:45

+0

雖然應用程序劑量崩潰,如果我執行reloadData而不是重新加載部分,應用程序將崩潰,一旦它遇到reloadsection相同的表一些在代碼中的位置 – prajul 2012-03-13 17:45:08

回答

1

我能夠通過使用tableViewHeader而不是loadind表視圖標題使用表視圖標題委託方法來解決問題,其中我使用了一個指針,它初始化爲表視圖標題。

相關問題