UIView के चारों ओर या नीचे शैडो ड्रॉ करना
अपने UI को आकर्षक बनाने के लिए, हमें iOS विकास में कई एट्रिब्यूट्स के साथ खेलना पड़ता है। किसी व्यू के चारों ओर या नीचे शैडो ड्रॉ करने के लिए हमें लेयर्स और व्यूज के साथ खेलना होगा।
आइए इसे दो तरीकों से देखें।
विधि 1: जहां आवश्यक हो सीधी कोडिंग
self.layer.masksToBounds = false
self.layer.cornerRadius = 2
self.layer.shadowOffset = CGSize(width: -5, height: 10)
self.layer.shadowRadius = 3
self.layer.shadowOpacity = 0.3
विधि 2: IBDesignable और IBInspectable बनाकर स्टोरीबोर्ड के साथ उपयोग करना
@IBDesignable class DesignableView: UIView { }
extension UIView {
@IBInspectable
var shadowRadius: CGFloat {
get { return layer.shadowRadius }
set { layer.shadowRadius = newValue }
}
@IBInspectable
var shadowOpacity: Float {
get { return layer.shadowOpacity }
set { layer.shadowOpacity = newValue }
}
@IBInspectable
var shadowOffset: CGSize {
get { return layer.shadowOffset }
set { layer.shadowOffset = newValue }
}
@IBInspectable
var shadowColor: UIColor? {
get {
if let color = layer.shadowColor {
return UIColor(cgColor: color)
}
return nil
}
set {
if let color = newValue {
layer.shadowColor = color.cgColor
} else {
layer.shadowColor = nil
}
}
}
}
UIView के लिए उपरोक्त एक्सटेंशन का उपयोग करके हम इन प्रॉपर्टीज को सभी स्टोरीबोर्ड के लिए सुलभ बना सकते हैं और डिवाइस पर चलाकर परिणाम देखे बिना डिजाइन के साथ खेल सकते हैं। ये परिवर्तन स्टोरीबोर्ड पर लाइव होंगे। नीचे इसका एक उदाहरण है:
