我创建了一个UISearchDisplayController,它使用单独的UITableViewController作为委托来显示搜索结果。在这个视图控制器中,我有'didSelectRowAtIndexPath'方法,它分配并初始化detailViewController然后使用:
[[self navigationController] pushViewController: detailViewController animated: YES];
将其推入堆栈。但是,这条线不起作用。当一个单元被轻敲时,没有任何反应。正在调用'didSelectRowAtIndexPath',但'pushViewController'方法调用无效。我不在导航控制器的上下文中了吗?我该如何解决这个问题?
非常感谢任何帮助。
答案 0 :(得分:3)
你的表的navigationController可能是错误的,我想你可能想把它推到你的UISearchDisplayController的navigationController上。 为此,您可以在tableviewcontroller中使用方法“pushViewController”创建协议,并让UISearchDisplayController实现它。
然后在表视图中注册此委托,并在'didSelectRowAtIndexPath'中的pushViewcontroller上调用委托