UIInterfaceOrientation всегда возвращать Портрет в AppDelegate iPad? - PullRequest
3 голосов
/ 11 января 2012

Я хочу показать заставку в приложении iPad. Перед этим я хочу получить текущую ориентацию устройства в альбомном или портретном режиме. Я использовал,

    UIInterfaceOrientation orientation= [[UIApplication sharedApplication] statusBarOrientation];
    if (orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationLandscapeLeft)  
    {       
        splachview=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
        splachview.image=[UIImage imageNamed:@"Default-Landscape.png"];

        splachview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
        splachview.contentMode = UIViewContentModeTop;

        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
        [self.window addSubview:splachview];
    }
    else if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) 
    {
        splachview=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
        splachview.image=[UIImage imageNamed:@"Default-Portrait.png"];

        splachview.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
        splachview.contentMode = UIViewContentModeTop;

        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
        [self.window addSubview:splachview];
    }

в Appdelegate.m. Ориентация интерфейса UII всегда определяется только в портретном режиме. Я запустил приложение в ландшафтном режиме, но элемент управления всегда определяет только портретный режим. Как я могу получить текущую ориентацию в AppDelegate.m? Пожалуйста, помогите мне найти решение. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 января 2012

Вы не должны делать это на AppDelegate, а на UIViewControllerUIViewController вы можете правильно узнать, в каком положении находится устройство, с помощью , используя соответствующие методы ( Настройка просмотра параметров вращения раздел), которые дает вам класс.

0 голосов
/ 11 января 2012

После прочтения вашего кода, кажется, что вам нужно показать статическое изображение при запуске приложения. Есть способ сделать это без кода.

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12

Если вы хотите, чтобы какой-либо динамический контент отображался как «всплеск», вам может потребоваться обработать его в UIViewController.

Чтобы узнать текущую ориентацию устройства, вы можете прочитать свойство: [UIDevice currentDevice] .orientation. Просто для справки.

...