使用自动布局推送viewcontroller时框架错误

时间:2013-06-29 17:55:09

标签: iphone ios ipad modalviewcontroller autolayout

我正在开发iOS应用程序。

我有一个使用自动布局的UIViewController。如果我在app delegate中创建视图控制器并将其设置为窗口的根视图控制器,则布局将按预期显示。

但是,如果我在应用程序启动时将导航控制器设置为根视图控制器(NavigationController的根视图控制器是一个不同的视图控制器),则要么推送另一个视图或以模态方式呈现它,布局是错误的。< / p>

为了帮助诊断问题,我将以下语句放在viewDidAppear方法中:

NSLog(@"x:%f y:%f w:%f h:%f", self.view.frame.origin.x, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height);

当主视图是根视图控制器(产生所需结果)时,这是输出:

x:0.000000 y:20.000000 w:320.000000 h:460.000000

当主视图以模态方式呈现时,这是输出:

x:76.000000 y:250.000000 w:168.000000 h:0.000000

当以模态方式呈现而不是作为根视图控制器时,是否有任何理由使视图的框架不同?

感谢您提供任何帮助!

0 个答案:

没有答案