2012-08-08 11 views
6

मैं सी # और विनफॉर्म की दुनिया से आ रहा हूं जहां मैं एक कस्टम UserControl बना सकता हूं और इसे एक रूप में खींच सकता हूं जैसे कि यह एक सामान्य नियंत्रण था। क्या एक्सकोड और इंटरफेस बिल्डर में ऐसा करने का कोई तरीका है?इंटरफ़ेस बिल्डर में विंडो पर कस्टम दृश्य खींचें?

मैंने केवल देखा है कि रनटाइम पर दृश्य कैसे सेट करें, लेकिन मैं इसे डिज़ाइन समय पर अपनी विंडो पर देखना चाहता हूं। उदाहरण के लिए, मैं अपने कस्टम दृश्य को उपलब्ध नियंत्रणों में सूचीबद्ध होने की अपेक्षा करता हूं।

धन्यवाद!

साइमन

+0

आईबी में एक कस्टम दृश्य है, बस इसे खींचें। – rdelmar

+0

@rdelmar - मैं अपने वास्तविक दृश्य के साथ कस्टम व्यू को कैसे जोड़ूं? अभी मैं बस एक बॉक्स देखता हूं जो "कस्टम व्यू" कहता है। –

+0

कस्टम दृश्य चयनित है, और उसके बाद पहचान निरीक्षक में, आप अपनी कक्षा को अपने NSView उपclass पर सेट करते हैं। – rdelmar

उत्तर

6

इंटरफ़ेस बिल्डर (अब कि आईबी प्लगइन्स परित्यक्त हैं या के अलावा अनुमति देते हैं,) वस्तु लाइब्रेरी के लिए कस्टम वस्तुओं को नहीं जोड़ देता है। आप केवल मौजूदा/प्रीसेट ऑब्जेक्ट्स में खींच सकते हैं, लेकिन आप कर सकते हैं आईबी ने उन्हें सबक्लस के उदाहरणों के रूप में तुरंत चालू कर दिया है जब तक कि वे उसी तरह तत्काल होते हैं।

उदा। एक कस्टम दृश्य में खींचें और एक स्क्रॉल ध्यान में रखते हुएMyCustomViewClass, या खींचें करने के लिए वर्ग सेट और एक वस्तु मेंMyCustomScrollView, या खींचें करने के लिए वर्ग की स्थापना की औरCustomObject, वगैरह के लिए कक्षा की स्थापना की।

और यह इंटरफ़ेस बिल्डर में कस्टम नियंत्रणों का उपयोग करने का पसंदीदा तरीका है।

enter image description here

1

मूल रूप से सिर्फ rdelmar की टिप्पणी बंद फाड़ ... लेकिन मैंने सोचा था कि एक तस्वीर आईबी में एक सामान्य दृश्य होगा उपयोगी enter image description here

खींचें, तो उसका चयन करें और यह करते हैं।

1

आईबी में आपके द्वारा बनाई गई प्रत्येक विंडो के बारे में इसका पहला उपमहाद्वीप है। इसके लिए आपको एक अलग कस्टम दृश्य बनाने की आवश्यकता नहीं है। यदि आप वास्तव में इसे उपclassing कर रहे हैं बस निरीक्षक में वर्ग का नाम बदलें।

0

क्या दृश्य नियंत्रक के XIB फाइल करने के लिए अपने कस्टम दृश्य का नाम जोड़ने के बारे में इस सूत्र में उल्लेख किया गया है के अलावा, आप अपने कस्टम दृश्य में ओवरराइडinitWithCoder की आवश्यकता होगी।

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