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应该就可以了


Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment