这只是一个测试应用程序,只有一个AppDelegate类来创建所有内容。我所做的就是创建一个基于窗口的应用程序,在info.plist中将支持的方向设置为仅横向,然后添加以下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft];
// Override point for customization after application launch.
UIAlertView *test = [[UIAlertView alloc] initWithTitle:@"hu" message:@"hui" delegate:nil cancelButtonTitle:@"hi" otherButtonTitles:nil];
[test show];
[window makeKeyAndVisible];
NSLog(@"win %f - %f", window.bounds.size.width, window.bounds.size.height);
return YES;
}
如果没有第一行设置状态栏方向,警告视图会出现在纵向模式中,即使界面的其余部分是横向左侧。
无论如何,日志仍然会显示:
win 768.000000 - 1024.000000
这是错误的方法(因此当我在我的真实应用程序中添加子视图时,框架不正确)。
苹果似乎在界面旋转方面出了很多问题,因为我一直遇到各种问题,在iPhone上我没有记得发生过这种情况,所以请有人告诉我如何解决这个问题。
我将提供500声望(这几乎是我的全部声望),给能够至少解释为什么会发生这种情况并希望提供解决方案的人。