01 - Pushing a navigation controller is not supported

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gilgamesho/article/details/50962022

01 - Pushing a navigation controller is not supported

报错描述

  • 前提 : 自定义storyboard:包含一个navigationController与UIViewnController
  • 理想现象 : 用Button跳转至自定义storyboard
  • 报错reason : Pushing a navigation controller is not supported
  • 解决方式 : Storyboard EntryPoint(即进入storyboard的箭头)直接指向与UIViewnController

跳转Code:

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"PersonOfDetail" bundle:nil];
    UIViewController *nav = [storyboard instantiateInitialViewController];
    [self.navigationController pushViewController:nav animated:YES];

分析:

将VIewController push到一个NavigationController中,相当于一个入栈操作;
如果push的对象中也有继承自UINavigationController,则存在NavigationController管理NavigationController对象;
存在冲突,于是就报错;

修改方法:

被push的对象不要继承UINavigationController即可

猜你喜欢

转载自blog.csdn.net/Gilgamesho/article/details/50962022