2

我創建了一個UISearchDisplayController,它使用單獨的UITableViewController作爲委託來顯示搜索結果。在此視圖中的控制器,我有分配和初始化一個detailViewController然後使用「didSelectRowAtIndexPath方法」的方法:無法從UISearchDisplayController委託推送視圖控制器

[[self navigationController] pushViewController: detailViewController animated: YES]; 

將其推入堆棧。但是,此行不起作用。當一個單元被輕敲時,沒有任何反應。 'didSelectRowAtIndexPath'被調用,但'pushViewController'方法調用不起作用。我不在我的navigationController的上下文嗎?我該如何解決這個問題?

任何幫助將不勝感激。

+0

這聽起來像[自我navigationController]爲零。在代碼中做一個斷點,看它是否確實爲零。如果它是零,那麼你需要找到哪個視圖控制器實際上在導航控制器內並在那裏調用它。 – vakio 2010-11-23 12:25:48

回答

3

您的表的navigationController可能是錯誤的,我認爲您可能想將它推到您的UISearchDisplayController的navigationController上。 爲此,您可以使用方法「pushViewController」在您的tableviewcontroller中創建一個協議,並使用UISearchDisplayController實現它。

然後您註冊此委託在您的表視圖,你打電話給你的pushViewcontroller代表在「didSelectRowAtIndexPath方法」

相關問題