Xcode
@ बिल्डर के साथ इंटरफेस बिल्डर में कस्टम नियंत्रण बनाना
खोज…
टिप्पणियों
स्विफ्ट में @IBDesignable
और @IBInspectable
निर्देशों की शुरूआत के साथ इंटरफ़ेस बिल्डर में कस्टम नियंत्रण बनाना बहुत आसान हो गया। डेवलपर्स अब कोड की कुछ अतिरिक्त लाइनों का उपयोग करके समृद्ध, जटिल, पूरी तरह से एनिमेटेड नियंत्रण का निर्माण कर सकते हैं। मुझे आश्चर्य है कि कितने डेवलपर्स ने अभी तक इस सुविधा को पूरी तरह से गले नहीं लगाया है, और मुझे अक्सर लगता है कि मौजूदा कक्षाओं में कोड की कुछ पंक्तियों को जोड़ने से उन्हें काम करना इतना आसान हो सकता है।
ध्यान दें कि ये सुविधाएं ऑब्जेक्टिव-सी में भी उपलब्ध हैं और पुरानी कक्षाओं में जीवन को सांस लेने का एक शानदार तरीका हैं। ऑब्जेक्टिव-सी में सिंटैक्टिक समतुल्य IB_DESIGNABLE और IBInspectable हैं, लेकिन अब मैं स्विफ्ट में उदाहरणों पर ध्यान केंद्रित करूंगा।
एक लाइव-रेंडर राउंडेड व्यू
यह आईओएस विकास में एक ऐसी सामान्य आवश्यकता है, और यह हमेशा कुछ ऐसा था जिसे शुद्ध रूप से कोड में किया जाना था (या युक - युक का उपयोग करना!)। अब इंटरफ़ेस बिल्डर में अपनी तरह का पूर्वावलोकन करना अविश्वसनीय रूप से आसान है, इसका उपयोग न करने के लिए बिल्कुल कोई बहाना नहीं है।
यहाँ कोड है: -
import UIKit
@IBDesignable
class MyRoundedView: UIView {
@IBInspectable var radius: CGFloat = 8 {
didSet {
self.layer.cornerRadius = radius
}
}
override func awakeFromNib() {
self.layer.cornerRadius = self.radius
self.layer.masksToBounds = true
}
}
इस वर्ग का उपयोग करने के लिए, इसे अपनी परियोजना में जोड़ें और फिर IB में स्टोरीबोर्ड खोलें और एक सभ्य आकार का एक सामान्य UIView बनाएं। इसे एक पृष्ठभूमि रंग दें ताकि आप इसे देख सकें, फिर दाएं हाथ की यूटिलिटीज़ पैनल में आइडेंटिटी इंस्पेक्टर को नेविगेट करें और ड्रॉप-डाउन में MyRoundedView
में वर्ग प्रकार MyRoundedView
।
जब आप ऐसा करते हैं, तो आपको "क्लास" और "मॉड्यूल" के नीचे एक तीसरा लेबल दिखाई देना चाहिए जो "डिजाइनबल्स" कहता है, और इसे "अप टू डेट" में बदलने से पहले एक पल के लिए "अपडेट करना" कहना चाहिए। इसका मतलब है कि Xcode ने MyRoundedView
के लिए आपके कोड को सफलतापूर्वक MyRoundedView
लिया है।
अब आप गुण निरीक्षक खोल सकते हैं और आपको शीर्ष पर "माई राउंडेड व्यू" और मान 8 के साथ "रेडियस" नामक एक नई विशेषता के साथ फलक के शीर्ष पर एक नया खंड (शायद थोड़े विराम के बाद) दिखाई दे (क्योंकि) वह प्रारंभिक मूल्य है जिसे हम कोड में सेट करते हैं)। यह गुण निरीक्षक में दिखाई दिया है क्योंकि हमने इसे @IBInspectable
रूप में चिह्नित किया है।
अब आप इसे दूसरे नंबर पर बदल सकते हैं और आपको वास्तविक समय में गोल व्यू कॉर्नर त्रिज्या अपडेट देखना चाहिए!