2012-03-12 16 views
5

Tworzę się iOS application i Napotkałem następujący problem:portret iOS aplikacja powraca z UIWebView youtube w krajobrazie

Projekt jest ustawiony jako aplikacja tryb portrait. Mam UIWebview, który ładuje stronę internetową z filmem youtube w nim. Po kliknięciu filmu zaczyna się youtube player. Po przełączeniu wideo na tryb landscape i kliknięciu przycisku "Gotowe" następuje powrót do trybu UIWebview z wyświetleniem go w postaci landscape.

Po zakończeniu wideo otrzymuję NSNotification, ale nie mogę wymusić trybu portrait.

To nie powinno być możliwe, jak mogę zezwolić, aby youtube był w landscape, ale zmusić aplikację do pozostania w trybie portrait? Czy istnieje inne obejście?

EDIT:

Po kontakcie z Apple okazało się to być błąd i jest zgłaszane.

+1

Jak uzyskać odtwarzacz YouTube z UIWebView, aby pokazać się w krajobrazie? –

Odpowiedz

0

myślę, że można użyć NSNotification jak powiedział w nazwie metody stosujemy poniższy wiersz kodu do teraz, aby wymusić widok na pionową

- (void)YourMethodCalledByNSNotification 
{ 
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation; 

    if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationPortraitUpsideDown) 
    { 
     [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 
    } 
} 

nadzieję, że pomoże

2
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

jest prywatny API. Nie polecałbym go używać.

UIWindow *window = [[UIApplication sharedApplication] keyWindow]; 
    UIView *view = [window.subviews objectAtIndex:0]; 
    [view removeFromSuperview]; 
    [window insertSubview:view atIndex:0]; 

jest o wiele lepszy sposób myślę. Zmusza aplikację do dostosowania jej orientacji.

Powiązane problemy