2012-02-10 21 views
5

Mevcut projemde bir sorunla karşılaştım, bu yüzden sorunu izole edip edemeyeceğimi görmek için basit bir uygulama geliştirdim. Uygulama temsilciimde durum çubuğunu gizlerim.Tam Ekran youtube videosu, döndürme ve durum çubuğu (iOS)

- (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]; 
} 

uygulama aynı zamanda AutoRotate olarak ayarlanır: benim tek görünüm denetleyicisinde

[application setStatusBarHidden:YES animated:NO]; 

Bu kodu vardır.

Şimdi, işte sorun: youtube videosunu oynattığımda, tam ekran moduna geçtiğimde, cihazı 90 derece döndürüp tam ekrandan çıkmak için "Tamamlandı" düğmesine basarsanız, tüm arabirim 20 saniyelik bir durum durumuna geçiyormuş gibi kalır. bar. Bir videoyu tam ekranda görüntülerken ios'un bir durum çubuğu eklediğini fark ettim, bu yüzden sorunun bir parçası olduğunu düşünüyorum. Sorunun yerel video oynatıcıda da görüldüğünü gördüm.

Herhangi bir fikrin var mı?

cevap

0

Bir UITabBarController kullanarak herhangi bir şansı varsa, bu görünümü pencerenizin kökü olarak yüklemeniz gerekir. Diğer görüntü denetleyicilerinden farklı olarak, bir sekme çubuğu arabirimi başka bir denetleyicinin alt öğesi olarak asla yüklenmemelidir.

+0

Ben UITabBarController kullanmıyorum. Oluşturduğum kukla uygulama UIWebView içeren bir UIView içeren sadece bir UIViewController içerir. Cevabın için teşekkür ederim. – Michael

0

info.plist'inize sonraki tuşu eklemeyi denemek için: UIStatusBarHidden ("Durum çubuğu başlangıçta gizlenir") YES değerine sahip.

+0

Bunu denedim. Aynı sonuç. Yine de öneriniz için teşekkürler. – Michael

+0

UIViewController'ınız için bir xib dosyanız var mı? Xib dosyasındaki görünümlerin boyutunu kontrol edin. Büyük olasılıkla, birincil görünümünüz 460 piksel yüksekliktedir. Her türlü yükseklik 480 için olmalı. – alexmorhun

1

Benzer bir sorunla karşılaştım.

Hikaye panosunda görünümler oluşturdum. Görünüm denetleyici ayarlarının düzen bölümünde Wants full Screen'un kontrol edilmesi benim için çözdü.

3

Uygulamam Oyun Kılavuzu: Black Ops 2 için kısa bir süre önce bu YouTube gömme yöntemini kullandım ve film oynatıcısının "bitti" düğmesine basarken rootViewController gösterilmesiyle birlikte bu sorunu yaşıyordum. RootViewController'daki "Tam Ekranı İstiyor" seçeneğinin işaretlenmesi, 20 piksel kaydırmayı düzeltdi ve "bitti" düğmesine bastıktan sonra görüntülenen rootViewController'ı düzeltmek için bunu, kullanılan bir çocuk olarak bir UIViewController (tableView ile) ekleyen rootViewController'a ekledim. [presentViewControllerAnimated: (BOOL) tamamlanması: nil], YouTube Video Embed ile ViewController'ı göstermek.

Artık her şey mükemmel çalışıyor ... nasıl davrandığını görmek istiyorsanız uygulamasındaki Videolar sekmesine bakın.

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

}

+0

Bu cevabın ne dediğini bilmiyorum – rigdonmr

İlgili konular