UINavigationController 的 pushViewController不起作用

1.首先你要在AppDelegate.m文件里面以self.view初始化一个UINavigationController:

    UINavigationController*nav = [[UINavigationController alloc]initWithRootViewController:self.viewController];

并以这个nav为window的root:
    self.window.rootViewController = nav;

否则的话,虽然viewController里面有navigationControllor这个属性,但是是空的,假的,没有实例化的,所以你的打印结果会是空的,如果你想用pushViewController: animated: 这个方法,就要初始化前面那个nav(原理就是它使一个栈,你push的时候是往里面push了一个viewController)


2.下面既然你已经定义一个navigationBar了,那么前面nav的navigationBar就不需要了,给他隐藏掉,所以前面那两句后面还要加上一句
    nav.navigationBarHidden = YES;

UINavigationController 一般不需要自己显示的去初始化,_navControllor不要.
用self.navigationController去push应该就可以了

你可能感兴趣的:(IOS应用)