2012-12-14 50 views
1

我有一個UIViewcontroller,推送第二個UIViewcontroller。第二個UIViewcontroller有一個UIWebview:一些文本和一些來自YouTube網址(嵌入)的視頻。當我點擊視頻時,播放器正在打開,屏幕仍處於縱向模式,而不是旋轉到橫向。嵌入式YouTube不在橫向模式下播放(iOS6)

的視頻在iOS5的正常工作與功能:僅與iOS6的發生

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieIsPlaying:) name:@"UIMoviePlayerControllerDidEnterFullscreenNotification" object:nil]; 

- (void)movieIsPlaying:(NSNotification *)notification 
{ 

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeLeft animated:NO]; 
} 

的問題。

任何想法如何解決這個問題?

回答

1

下面是蘋果的iOS SDK,XCode4.5 +報價(見UIViewController類參考,處理視圖旋轉):

在iOS 6中,您的應用支持在 應用程序的信息定義的接口方向。 plist文件。視圖控制器可以覆蓋 supportedInterfaceOrientations方法以限制支持的 方向的列表。一般來說,系統只會在窗口視圖控制器的根目錄控制器或視圖控制器上顯示填充 整個屏幕;子視圖控制器使用其父視圖控制器爲其提供的窗口部分,並且不再支持 直接參與有關旋轉 支持的決策。

另外在iOS6中,shouldAutorotateToInterfaceOrientation:方法UIViewController類已被棄用。

所以在你的根視圖控制器,你做的FF:

- (BOOL)shouldAutorotate { 
    return YES; 
} 

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskPortrait; 
} 

順便說一句,「根視圖控制器」是任何UIViewController子你設爲您的appDelegate的窗口對象的RootViewController的。您通常在appDelegate的application:didFinishLaunchingWithOptions:方法中執行此操作。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    // Override point for customization after application launch. 
    self.window.rootViewController = [FFDashboardController create]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

還要檢查這個Answer

相關問題