UIwindow返回一个高度和宽度不正确的框架

时间:2012-07-20 23:00:36

标签: iphone ipad uiview uiviewcontroller

我正在运行带有示例视图控制器的测试程序。 在我的app委托中,我有以下

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
NSLog(@"window frame %@",NSStringFromCGRect(self.window.frame));
}

输出是窗口框架{{0,0},{768,1024}}。 我让设备处于lanscape模式,但窗口框架返回宽度和高度的交换值。

由于这个原因,我无法使用硬编码值放置视图组件。 什么是错误的线索。

1 个答案:

答案 0 :(得分:2)

在调用此函数之前,您正试图获取视图的大小...

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

仅在

之后调用
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

退出。您是否有理由在此功能中执行此操作?我会尝试在你的UIViewControllers viewDidLoad函数中进行它。

希望这会有所帮助:)