从 UIView 子类推送导航控制器会导致崩溃

Posted

技术标签:

【中文标题】从 UIView 子类推送导航控制器会导致崩溃【英文标题】:Pushing a navigation controller from a UIView subclass leads to crash 【发布时间】:2013-12-12 13:41:48 【问题描述】:

我有一个 UIView 子类,如果点击其中的按钮,它必须将 viewController 推送到导航堆栈上。所以我在我的 appDelegate 中保留了导航控制器的副本。然后我从按钮的动作方法中执行以下操作:

[appDelegate.navigationController pushViewController:nextViewController animated:YES]; 

这会导致应用在弹出 nextViewController 时崩溃。当我按照更标准的方法从 UIView 子类发布通知,在父视图控制器中接收它并从那里推送 nextViewController 时,此问题已得到解决。

为什么会这样?

【问题讨论】:

【参考方案1】:
[self.navigationController pushViewController:nextViewController animated:YES];

试过这段代码....

【讨论】:

我在一个 UIView 子类中,其中 self 没有导航控制器。 不,我已声明为属性。

以上是关于从 UIView 子类推送导航控制器会导致崩溃的主要内容,如果未能解决你的问题,请参考以下文章

从 UIView ios 推送视图控制器

无法从以编程方式创建的 UINavigationController 推送

在动画推送和弹出时,导航项中带有搜索栏的连续视图控制器会导致视图模糊[重复]

iOS - 从导航控制器推送时应用程序冻结

使用导航控制器从 mapView 推送详细视图

嵌套推送动画可能导致导航栏损坏多次警告