无法从UISearchDisplayController委托推送视图控制器

时间:2010-11-23 11:32:23

标签: iphone objective-c cocoa-touch uinavigationcontroller uisearchdisplaycontroller

我创建了一个UISearchDisplayController,它使用单独的UITableViewController作为委托来显示搜索结果。在这个视图控制器中,我有'didSelectRowAtIndexPath'方法,它分配并初始化detailViewController然后使用:

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

将其推入堆栈。但是,这条线不起作用。当一个单元被轻敲时,没有任何反应。正在调用'didSelectRowAtIndexPath',但'pushViewController'方法调用无效。我不在导航控制器的上下文中了吗?我该如何解决这个问题?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

你的表的navigationController可能是错误的,我想你可能想把它推到你的UISearchDisplayController的navigationController上。 为此,您可以在tableviewcontroller中使用方法“pushViewController”创建协议,并让UISearchDisplayController实现它。

然后在表视图中注册此委托,并在'didSelectRowAtIndexPath'中的pushViewcontroller上调用委托