2

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

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

将其推入堆栈。但是,这条线不起作用。当一个单元格被点击时,什么也没有发生。正在调用“didSelectRowAtIndexPath”,但“pushViewController”方法调用不起作用。我不再处于我的 navigationController 的上下文中了吗?我该如何解决这个问题?

任何帮助将非常感激。

4

1 回答 1

3

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

然后你在你的表格视图中注册这个代表,你在你的'didSelectRowAtIndexPath'中调用你的pushViewcontroller上的代表

于 2010-11-23T12:17:34.130 回答