我显然错过了什么。。。

在我的iOS应用程序中,我将UIViewController推送到导航控制器上:

MyViewController*mvc=[[MyViewController alloc]initWithNibName:@“MyViewController”];[self.navigationController mvc动画:是];

MyViewController显示良好,我可以查看和使用导航栏,但当我试图从视图控制器中获取指向导航控制器的指针时,得到的结果为零。

UI导航控制器*nav=[自导航控制器];if(!导航){NSLog(@“no nav”);}

我一整天都在为这个头疼,但看不出我做错了什么。我在Xcode中没有收到任何警告或错误。我完全错过了什么吗?

TIA:约翰

2个答案2

重置为默认值
9

这个导航控制器无法正确设置查看DidLoad.你必须登记视图Did显示或者在以后的某个阶段。你要调用哪种方法[自动导航控制器]英寸?

原因是当查看DidLoad被称为UI导航控制器仍在处理pushViewController:动画:方法。它似乎设置了导航控制器财产之后它初始化控制器的看法。我记不起属性是否按时间设置视图将出现运行,但它肯定应该由查看Did出现.

1
  • 啊!当然。我打赌这就是问题所在。我正在初始化器中检查它,这太早了。呸!谢谢你救了我可怜的脑袋!
    – 约翰
    评论 2011年10月11日23:05
0
id rootViewController=[[[UIApplication sharedApplication]keyWindow]子视图]对象AtIndex:0]nextResponder];

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.