2012-02-10 14 views
5

मुझे अपने वर्तमान प्रोजेक्ट में एक समस्या आई, इसलिए मैंने यह देखने के लिए एक सरल ऐप बनाया कि क्या मैं समस्या को अलग कर सकता हूं। मेरे ऐप प्रतिनिधि में मैं स्टेटस बार छुपाता हूं।फुलस्क्रीन यूट्यूब वीडियो, रोटेशन, और स्टेटस बार (आईओएस)

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

एप्लिकेशन भी autorotate करने के लिए सेट है:

[application setStatusBarHidden:YES animated:NO]; 

मेरी ही दृश्य नियंत्रक में मैं इस कोड है।

अब, यहाँ समस्या है: जब मैं यूट्यूब वीडियो चलाएं, पूर्ण स्क्रीन मोड में प्रवेश डिवाइस को 90 अंश घुमाने, और हिट "हो गया" पूर्णस्क्रीन से बाहर आने, पूरे इंटरफ़ेस 20px नीचे स्थानांतरित कर दिया रहता है जैसे कि यह एक स्थिति को समायोजित कर रहे थे बार। मैंने देखा कि पूर्ण स्क्रीन में एक वीडियो देखते समय, आईओएस एक स्टेटस बार जोड़ता है, इसलिए मैं अनुमान लगा रहा हूं कि इस मुद्दे का हिस्सा है। मैंने देखा है कि समस्या मूल वीडियो प्लेयर के साथ भी होती है।

कोई भी विचार?

उत्तर

0

यदि किसी भी मौके से आप UITabBarController का उपयोग कर रहे हैं, तो आपको इस दृश्य को अपनी विंडो की जड़ के रूप में स्थापित करना होगा। अन्य व्यू कंट्रोलर के विपरीत, एक टैब बार इंटरफ़ेस को किसी अन्य व्यू कंट्रोलर के बच्चे के रूप में कभी भी इंस्टॉल नहीं किया जाना चाहिए।

+0

मैं UITabBarController का उपयोग नहीं कर रहा हूँ। मेरे द्वारा बनाए गए डमी ऐप में केवल UIViewController होता है जिसमें UIView होता है जिसमें UIWebView होता है। जवाब के लिए धन्यवाद। – Michael

0

अपनी जानकारी में जोड़ने का प्रयास करने के लिए। अगला कुंजी: UIStatusBarHidden ("स्थिति बार प्रारंभ में छिपा हुआ है") मूल्य YES के साथ।

+0

कोशिश की। वही परिणाम फिर भी सुझाव के लिए धन्यवाद। – Michael

+0

क्या आपके पास अपने UIViewController के लिए xib फ़ाइल है? Xib फ़ाइल में दृश्यों के आकार की जांच करें। सबसे अधिक संभावना है कि, आपकी प्राथमिक दृश्य 460 पीएक्स की ऊंचाई स्थापित है। यह सभी प्रकार की ऊंचाई 480 के लिए होना चाहिए। – alexmorhun

1

मुझे एक ही समस्या थी।

मैंने स्टोरीबोर्ड में विचार बनाए। व्यू कंट्रोलर सेटिंग्स के लेआउट सेक्शन में Wants full Screen की जांच करने से यह मेरे लिए हल हो गया।

3

मैंने हाल ही में अपने ऐप गेम गाइड: ब्लैक ओप्स 2 के लिए इस यूट्यूब एम्बेड विधि का उपयोग किया था, और मूवी प्लेयर के "किए गए" बटन को मारते समय मुझे रूटव्यू कंट्रोलर दिखाए जाने के साथ ही यह समस्या हो रही थी। RootViewController पर "पूर्ण स्क्रीन चाहता है" की जांच करने से 20 पिक्सेल शिफ्ट को ठीक किया गया है, और "किए गए" बटन को दबाए जाने के बाद रूटव्यू कंट्रोलर को प्रदर्शित करने के लिए मैंने रूटव्यू कंट्रोलर में जोड़ा है जो UIViewController (tableView के साथ) को उपयोग कर रहे बच्चे के रूप में जोड़ रहा था [presentViewControllerAnimated: (BOOL) पूरा होने: शून्य] YouTube वीडियो एम्बेड के साथ ViewController दिखाने के लिए।

अब सब कुछ पूरी तरह से काम कर रहा है ... मेरे एप्लिकेशन में वीडियो टैब की जाँच अगर आप देखें कि यह कैसे बर्ताव करता है चाहता हूँ।

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

}

+0

मुझे नहीं पता कि यह जवाब क्या कहता है – rigdonmr

संबंधित मुद्दे