2012-02-10 40 views
5

我在當前項目中遇到了一個問題,所以我創建了一個簡單的應用程序,以查看是否可以找出問題。在我的應用程序委託中,我隱藏了狀態欄。全屏YouTube視頻,旋轉和狀態欄(iOS)

[application setStatusBarHidden:YES animated:NO]; 

在我的單一視圖控制器我有這樣的代碼:

- (void)loadVideo 
{ 
    // HTML to embed YouTube video 
    NSString *youTubeVideoHTML = @"<html><head>\ 
    <body style=\"margin:0\">\ 
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \ 
    width=\"%0.0f\" height=\"%0.0f\"></embed>\ 
    </body></html>"; 

    // Populate HTML with the URL and requested frame size 
    NSString *html = [NSString stringWithFormat:youTubeVideoHTML, @"http://www.youtube.com/watch?v=VDRoBnL1gRg", 500, 500]; 

    // Load the html into the webview 
    [self.webview loadHTMLString:html baseURL:nil]; 
} 

該應用程序也被設置爲自動旋轉。

現在,這裏是問題:當我播放YouTube視頻,進入全屏模式,旋轉設備90度,然後點擊「完成」退出全屏,整個界面仍然向下移動20px,就好像它適應狀態酒吧。我注意到,在全屏觀看視頻時,ios添加了一個狀態欄,所以我猜這是問題的一部分。我也看到本地視頻播放器也出現了問題。

任何想法?

回答

0

如果您有任何機會使用UITabBarController,您必須將此視圖安裝爲您的窗口的根目錄。與其他視圖控制器不同,選項卡欄界面不應該被安裝爲另一個視圖控制器的子視圖。

+0

我不使用的UITabBarController。我創建的虛擬應用程序僅包含一個UIViewController,其中包含一個包含UIWebView的UIView。謝謝回答。 – Michael 2012-02-13 20:03:55

0

要嘗試添加到您的info.plist下一個鍵:UIStatusBarHidden(「狀態欄最初隱藏」),值爲YES。

+0

試過了。同樣的結果。還是)感謝你的建議。 – Michael 2012-02-13 20:07:30

+0

你有你的UIViewController的xib文件嗎?檢查xib文件中視圖的大小。最有可能的是,您的主視圖安裝了460像素的高度。它應該是各種高度的480 – alexmorhun 2012-02-14 09:31:44

1

我有一個類似的問題。

我在故事板中創建了視圖。檢查Wants full Screen在視圖控制器設置的佈局部分爲我解決了它。

3

我最近使用此YouTube嵌入方法,我的應用程序遊戲指南:黑色行動2,我是有打擊的電影播放器​​的「完成」按鈕時,正在顯示RootViewController的沿着這個問題。檢查「想全屏」上RootViewController的固定在20像素偏移,和以固定所顯示的RootViewController的推「完成」按鈕添加此向其中加入一個UIViewController(帶的tableView),其使用一個孩子RootViewController的後[presentViewControllerAnimated:(BOOL)completion:nil]向ViewController顯示YouTube視頻嵌入。

現在一切工作完美...檢查出我的應用程序中的視頻選項卡,如果你想看看它的行爲。

-(void)viewDidAppear:(BOOL)animated { 
    NSLog(@"Main View viewDidAppear..."); 
    [super viewDidAppear:animated]; 
    [self dismissViewControllerAnimated:YES completion:nil]; 

}

+0

我不知道這樣的回答說: – rigdonmr 2016-07-22 02:45:28