Это всего лишь тестовое приложение. Существует только класс 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
Это неправильный путь (и поэтому, когда я добавляю подпредставления в моем реальном приложении, кадры не правильные)
Apple, похоже, действительно испортила поворот интерфейсаПоскольку у меня не было ничего, кроме проблем, я не помню, чтобы это происходило на iPhone, поэтому, пожалуйста, может кто-нибудь сказать мне, как это исправить.
Я дам 500 репутации (это все, кроме10 моей репутации) человеку, который хотя бы может объяснить, почему это происходит, и, надеюсь, найти решение.