2012-03-12 2 views
5

에있는 UIWebView 유튜브에서 응용 프로그램 반환 나는 iOS application를 만드는거야 그리고 난 다음과 같은 문제가 발생했습니다 :이 프로젝트는 portrait 모드 응용 프로그램으로 설정되어아이폰 OS 초상화만을 풍경

. 나는 UIWebview을 가지고 있는데, 여기에 youtube 비디오가있는 웹 페이지가로드됩니다. 동영상을 클릭하면 youtube player에서 시작됩니다. 동영상이 landscape 모드로 변경되고 '완료'를 클릭하면 에 표시된 UIWebview으로 되돌아갑니다.

동영상이 끝났을 때 NSNotification이 표시되지만 portrait 모드를 강제로 실행할 수는 없습니다.

이것은 가능하지 않습니다. 어떻게하면 youtube가 landscape에있을 수 있지만, 앱을 portrait 모드로 유지하도록 할 수 있습니까? 아니면 다른 해결 방법이 있습니까?

편집 :이 버그로 판명와보고

애플과 접촉 후.

+1

UIWebView에서 youtube 플레이어를 가로로 표시하려면 어떻게 했습니까? –

답변

0

난 당신이

2
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

개인 API입니다 도움 세로

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

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

희망에보기를 강제로 지금이 코드 줄을 사용 당신이 말한대로 NSNotification을 사용하고 호출 된 메서드에서 수 있다고 생각합니다. 나는 그것을 사용하지 않는 것이 좋습니다.

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

내가 생각하는 것보다 훨씬 좋습니다. 앱이 강제로 방향을 조정합니다.