2012-02-22 13 views
7

UIViewUIView प्रबंधित करने के बिना UIViewController बिना UIPopoverController में UIView को तुरंत प्रस्तुत करना संभव है?UIPiewController में UIViewController के बिना UIView प्रस्तुत करना संभव है?

वर्तमान में मेरे पास "DelegateViewController" है जो मेरा विचार पास हो गया है। फिर मैं प्रस्तुति के लिए उस नियंत्रक का उपयोग करता हूं। लेकिन मैं सोच रहा हूं कि क्या कोई आसान तरीका है?

उत्तर

13

आप एक UIView है, तो आप आसानी से एक सादे UIViewController एक कंटेनर के रूप में बना सकते हैं।

UIViewController* controller = [[[UIViewController alloc] init] autorelease]; 
controller.view = myView; 
+0

यही वह है जो मैं पहले से कर रहा हूं। – Krumelur

+0

अच्छा जवाब .. :) –

0

यह आमतौर पर UIViewController को देखने के लिए समझ में आता है क्योंकि नियंत्रक सभी बातचीत और दृश्य को स्थापित करता है। यद्यपि आप कुछ परिस्थितियों में स्क्रीन पर "नग्न" दृश्य डाल सकते हैं UIPopoverController को UIViewController के साथ काम करने के लिए डिज़ाइन किया गया है और आईओएस दुनिया में व्यू कंट्रोलर प्रतिमान बहुत अच्छी तरह से स्थापित और प्रोत्साहित किया गया है, भले ही आपको लगता है कि आपको एक की आवश्यकता नहीं है नियंत्रक को देखें, यह एक होने के लिए हानिकारक नहीं होना चाहिए और आप हमेशा मौजूदा कार्यक्षमता को विस्तारित करना चाहते हैं, है ना?

कृपया ध्यान दें: यदि आप आईओएस 5.0 पर हैं तो पॉपओवर में विचार बनाना बहुत आसान है और दृश्य नियंत्रकों को खींचने और छोड़ने और स्टोरीबोर्ड पर उन्हें जोड़ने की बात है। उदाहरण: How to create Popovers with Xcode Storyboards

1

क्या यह संभव है जल्दी से एक UIViewController UIView प्रबंध किए बिना एक UIPopoverController में एक UIView पेश करने के लिए?

सं UIPopoverController एक दृश्य नियंत्रक, नहीं एक दृश्य के प्रबंधन करता है। जब आप एक पॉपओवर नियंत्रक बनाते हैं, तो आपको दृश्य नियंत्रक प्रदान करना होगा जो सामग्री का प्रबंधन करेगा। इसका मतलब यह नहीं है कि आपको प्रत्येक स्थान पर एक विशेष दृश्य नियंत्रक उप-वर्ग बनाना है जहां आप पॉपओवर का उपयोग करते हैं - जैसे कि बेंडिट्री पॉइंट्स, आप एक सादे पुराने UIViewController का उपयोग कर सकते हैं यदि आप चाहें। लेकिन आप यूआईपीओवर कंट्रोलर को सिर्फ एक दृश्य नहीं पारित कर सकते हैं - इसे स्वीकार करने का कोई तरीका नहीं है, और यह नहीं पता कि अगर ऐसा होता है तो इसके साथ क्या करना है।