2012-10-19 11 views
13

को UIView आउटलेट कनेक्ट करने के लिए कैसे मैं अभी भी xcode/iOS के लिए नए हूँ और निम्नलिखित समस्या है: एक UIView जोड़ा/outlet- के रूप में जुड़ेएक कस्टम subview

क्रम कुछ मोबाइल डिबग जानकारी प्रदर्शित करने में

, मैं है मेरे व्यू कंट्रोलर में से एक के लिए संपत्ति। यह दृश्य UIview का एक कस्टम उप-वर्ग है। अब मैंने इस दृश्य में उप-दृश्यों के रूप में कुछ UIlabels जोड़ दिए हैं और इन लेबलों से आउटलेट कनेक्शन को मेरी कस्टम UIIview.h फ़ाइल में खींचना चाहते हैं ताकि इन लेबल को मेरे कस्टम UIview क्लास के गुणों के रूप में सुलभ किया जा सके (उन्हें सीधे एक्सेस करने की आवश्यकता नहीं है नियंत्रक देखें)।

समस्या यह है कि इंटरफ़ेस निर्माता (मैं स्टोरीबोर्ड/xcode4.3 का उपयोग कर रहा हूं) चाल नहीं बनाता है। मैं आउटलेट को ViewControllerClass.h से कनेक्ट कर सकता हूं लेकिन मेरे उप दृश्य की .h फ़ाइल पर नहीं। कोई भी बता सकता है कि समस्या कहां है?

+0

'IBOutlet' घोषणाओं को देखने में मददगार होगा। क्या वे 'उइलाबेल' टाइप हैं? – bobnoble

उत्तर

1

इंटरफ़ेस बिल्डर में अपनी "कस्टम व्यू" कक्षा में "UIView" से अपनी कस्टम व्यू क्लास अपडेट करें। और अब आप ctrl + द्वारा अपने कनेक्शन या टेक्स्टफील्ड को अपने उचित कस्टम क्लास में खींच सकते हैं।

+3

यह कस्टम प्रोटोटाइप 'UITableViewCell' के लिए काम करता है, शायद उनके लिए कुछ जादू के कारण, लेकिन यह मेरे लिए मनमाने ढंग से 'UIView' subclasses के लिए काम नहीं करता है। उनके लिए, मुझे tib द्वारा पोस्ट किए गए उत्तर का उपयोग करना पड़ा। –

23

बस समस्या हल हो गई। कस्टमव्यूएच फ़ाइल में मैन्युअल रूप से संपत्ति आउटलेट घोषणाओं को टाइप करने के बाद मैं इंटरफ़ेसबिल्डर में उनके संबंधित UIlabel ऑब्जेक्ट्स से वहां से ctrl-drag-connect को कनेक्ट कर सकता हूं। केवल इस दिशा में काम करता है!

धन्यवाद वैसे भी

+2

यह सुनिश्चित नहीं है कि आपने इसे पोस्ट करने के बाद एक्सकोड में कुछ बदल दिया है, लेकिन मैं स्टोरीबोर्ड पर ऑब्जेक्टिव-सी फ़ाइल में आउटलेट से नीचे की गई CTRL कुंजी को बिना * खींचकर ऐसा करने में सक्षम था। अगर मैंने CTRL कुंजी दबाई है, तो मुझे कोड फ़ाइल में आउटलेट आइकन पर क्लिक करने पर एक संदर्भ मेनू प्राप्त होगा। –

+1

मुझे आश्चर्य है कि इस तरह से ऐसा करने का कोई कारण है या नहीं। – Morkrom

+0

वास्तविक इंटरफ़ेस/स्टोरीबोर्ड दृश्य पर खींचते समय केवल मेरे लिए काम किया, आईबी में बाईं ओर इंटरफ़ेस ऑब्जेक्ट्स की सूची नहीं। – Morkrom

0

समस्या हल हो गई! तीन साल पहले (UIView के सबव्यूज़ से कनेक्ट करने के बारे में) के बारे में एक दिलचस्प एसओ पोस्ट के कारण, मैंने पाया कि एक कार्रवाई या आउटलेट सर्कल (.h फ़ाइल में) से नियंत्रण में केवल ड्रैग (Ctrl_drag! नहीं) को नियंत्रित करता है और यही वह है। उपखंडित UIView से नियंत्रण अलग-अलग दृश्य में होने पर भी पूरी तरह से काम करता है। कार्यों के साथ आउटलेट के साथ समान रूप से अच्छी तरह से काम करता है हालांकि आप हमेशा सर्कल से दूर खींचते हैं।

+0

क्षमा करें - मैंने गलती से उपरोक्त गलत धागे पर पोस्ट किया है। –

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