2011-02-17 9 views
9

मुझे UITabBarController में UINavigationController के अंदर UIWebView मिला है। कभी-कभी UIWebView द्वारा प्रदर्शित पृष्ठों में HTML5 वीडियो ऑब्जेक्ट्स होते हैं।UITabBarController में UIWebView में HTML5 वीडियो के लिए समर्थन लैंडस्केप मोड

वीडियो अपेक्षित रूप से खेलना शुरू कर देता है, लेकिन लैंडस्केप मोड का समर्थन नहीं करता है।

मुझे लगता है कि यह मेरे विचार नियंत्रकों की नहीं सब के बाद हो सकता है अंदर UITabBarController (मैं एक UITabBarController अंदर "सभी दृश्य नियंत्रकों के बारे में सुना है UITabBarController autorotate बनाने के लिए लैंडस्केप मोड में autorotation का समर्थन करना चाहिए) लैंडस्केप मोड में autorotates ।

किसी को भी जो ऐप के बाहर वीडियो खुद को खोलने के लिए किसी भी वैकल्पिक हल? शायद कुछ समाधान जानता है?

धन्यवाद!

अद्यतन 2011-03-15

012,

मैं खुद को थोड़ा सा दोहरा दूंगा, लेकिन मुझे नहीं लगता कि यह एक नया प्रश्न बनाने के लिए पर्याप्त था। मैं पालन पदानुक्रम मिल गया है:

UITabBarController 
    UINavigationController (NC-A) 
     UITableView 
     UIWebView (pushed from UITableView) 
    UINavigationController (NC-B) 
     A number of UITableViews 
    UINavigationController (NC-C) 
     A number of UITableViews 

मैं चाहता हूँ UIWebView (NC-ए में), जो कभी कभी HTML5 वीडियो वस्तुओं (जैसा कि ऊपर उल्लेख की तरह) लैंडस्केप मोड का समर्थन करने के होते हैं, (और autorotate/-resize जब उपयोगकर्ता फोन पर ही)

लेकिन मैं नहीं चाहता कि विचारों NC-बी और एन सी-ए

द्वारा नियंत्रित में autorotation लागू करने के लिए एक UITabBarController में autorotation का समर्थन करने के लिए, मैंने चाहते flips पढ़ें कि प्रत्येक टैब में वर्तमान में 'शीर्ष पर' सभी विचारों को एस को कार्यान्वित करना है houdAutorotateToInterfaceOrientation (और प्रश्न में अभिविन्यास के लिए हाँ वापस) "।

क्या इसे हल करने का कोई तरीका है?

+0

क्या वेबव्यू स्वयं घूमता है? परिदृश्य का समर्थन नहीं करते आपका क्या मतलब है? क्रैश, लोड करने में विफल रहता है, आकार बदल नहीं है? – russ36363

+0

नहीं, यह नहीं है (चूंकि यह एक नेविगेशन नियंत्रक के अंदर है जो एक UITabBarController के अंदर है जहां हर पल में सभी दृश्य दृश्य ऑटोरोटेशन का समर्थन नहीं करते हैं)। "लैंडस्केप मोड का समर्थन नहीं करता" का मतलब यह है कि फोन घूर्णन होने पर घूर्णन और ऑटोरेसाइज़ नहीं किया जा रहा है :) –

उत्तर

1

जिस समाधान के साथ मैं गया था वह UIWebView को सामान्य रूप से प्रस्तुत करना था। फिर पूरे दृश्य ने परिदृश्य अभिविन्यास का समर्थन किया और इसलिए UIWebView भी।

2

यह काफी हैकी होगा, लेकिन आप जावास्क्रिप्ट में एचटीएमएल 5 वीडियो की "प्ले" घटना को कैप्चर कर सकते हैं, फिर एक नकली यूआरएल आग लगाएं जो आपका वेब व्यू प्रतिनिधि हस्तक्षेप करेगा।

वहां से, MPMoviePlayerController का निर्माण करें, इसे अपने रूट व्यू कंट्रोलर से संलग्न करें (या इसे अन्य सभी के शीर्ष पर मोडल डालें) और अपना ऑटोरोटेशन जिस तरह से आप चाहते हैं उसे सेट करें।

लाभ यह है कि उपयोगकर्ता को मूल मूवी प्लेयर की गारंटी है। दोष यह बहुत हैकी है।

+0

हाँ, यह थोड़ा "हैकी" होगा, लेकिन मुझे लगता है कि यह एक संभावित समाधान है। वैसे भी - मैंने इसे UIWebView को सामान्य रूप से देखने वाले दृश्य को प्रस्तुत करके हल किया। –