横向模式中的坐标iPad应用程序对应纵向模式

时间:2012-06-26 23:27:23

标签: objective-c ios ipad coordinates landscape

我正在写一个关于我正在写的iPad应用程序的奇怪问题。

我想在我的主视图控制器中添加一个UIToolbar(在app delegate中设置为root视图控制器)。在这个主视图控制器中,我只支持横向方向。但是,当我为我的工具栏设置框架时,似乎ipad仍然认为它处于纵向模式!我的意思是当我运行这一行时:

[_toolbar setFrame:CGRectMake(0, 0, [[self view] frame].size.width, 44)];

工具栏的宽度仅为768,而不是1024,即使此时屏幕的宽度明显为1024,因为工具栏仅延伸到屏幕的2/3。我在放置子视图方面遇到了类似的问题,并且在我的主视图控制器上得到了非常奇怪的位置。

还有其他人遇到过这样的问题吗?如果是这样,你是如何解决的?谢谢!

1 个答案:

答案 0 :(得分:1)

你应该使用视图的边界而不是框架,你应该在视图的生命周期中过早地执行你的代码

如果您从控件的 viewDidAppear 调用代码,那么我猜它会起作用。但是如果你从 viewWillAppear 调用你的代码,那就太早了。