我正在从应用代理访问导航控制器并尝试推送另一个视图:
[appDelegate.myNavigationController pushViewController:self.detailView animated:YES];
但没有发生任何事情。以上是在myTableView中。
该应用基于tabbar。我在IB中的TabbarController对象下添加了一个NavigationController对象。然后我在app delegate中创建了对myNavigationController的引用。
有什么建议我怎么弄清楚为什么上面的代码不起作用?它适用于addSubview到当前视图。
答案 0 :(得分:1)
确保appDelegate
不为空(无论你从哪里得到它都返回正确的值),appDelegate.myNavigationController
不为空(IBOutlet设置正确),{{1}不为空(它当前显示在堆栈的顶部。
在推送新项目之前,请确保先前推送或弹出视图的所有动画都已完成。
答案 1 :(得分:0)
这可能不是您问题的答案。
您的代码看起来令人困惑。是来自UITableView
子类还是来自UITableViewController
子类的片段?让我问的是,您对pushViewController:
的论证是self.detailView
。保持清晰度非常重要。
如果从显示导航栏的视图控制器调用代码,那么您应该使用self.navigationController
而不是向appDelegate
添加属性。
特别是,您需要在选项卡中使用导航控制器。
任何这些都可能导致视图无法显示。