我正在运行带有示例视图控制器的测试程序。 在我的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模式,但窗口框架返回宽度和高度的交换值。
由于这个原因,我无法使用硬编码值放置视图组件。 什么是错误的线索。
答案 0 :(得分:2)
在调用此函数之前,您正试图获取视图的大小...
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
仅在
之后调用 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
退出。您是否有理由在此功能中执行此操作?我会尝试在你的UIViewControllers viewDidLoad函数中进行它。
希望这会有所帮助:)