我创建了一个 UISearchDisplayController,它使用单独的 UITableViewController 作为委托(delegate)来显示搜索结果。在这个 View Controller 中,我有“didSelectRowAtIndexPath”方法,它分配并初始化一个detailViewController,然后使用:
[[self navigationController] pushViewController: detailViewController animated: YES];
将其压入堆栈。然而,这条线不起作用。当点击一个单元格时,什么也不会发生。正在调用“didSelectRowAtIndexPath”,但“pushViewController”方法调用不起作用。我不再处于我的 navigationController 的上下文中了吗?我该如何解决这个问题?
任何帮助将不胜感激。
最佳答案
你的表的navigationController可能是错误的,我认为你可能想将它推送到UISearchDisplayController的navigationController上。 为此,您可以使用“pushViewController”方法在 tableviewcontroller 中创建一个协议(protocol),并让 UISearchDisplayController 实现它。
然后,您在 TableView 中注册此委托(delegate),并在“didSelectRowAtIndexPath”中的 PushViewcontroller 上调用您的委托(delegate)
关于iphone - 无法从 UISearchDisplayController 委托(delegate)推送 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4255582/