आप एक खेल का मैदान में निम्न कोड डालें, तो आप करेंगे सटीक वांछित आउटपुट मिलता है:
let view = UIView(frame: CGRectMake(0,0,200,100))
let layer = CAGradientLayer()
layer.frame = view.frame
layer.colors = [UIColor.greenColor().CGColor, UIColor.yellowColor().CGColor, UIColor.redColor().CGColor]
layer.locations = [0.0, 0.8, 1.0]
view.layer.addSublayer(layer)
XCPShowView("ident", view: view)
outputting:
आप बस CGColors
की एक सरणी के रूप में रंग को परिभाषित , और 0.012 1.0 के बीच NSNumber
के समान आकार की एक सरणी।
न कि के लिए startPoint
और endPoint
का उपयोग करें - वे कहाँ करने के लिए जहां ढाल परत में दिखाया गया है से परिभाषित करने के लिए कर रहे हैं - यह percents से कोई लेना देना और रंग आदि
नहीं है कोड का हालिया स्विफ्ट 3 संस्करण:
let view = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 100))
let layer = CAGradientLayer()
layer.frame = view.frame
layer.colors = [UIColor.green.cgColor, UIColor.yellow.cgColor, UIColor.red.cgColor]
layer.locations = [0.0, 0.8, 1.0]
view.layer.addSublayer(layer)
PlaygroundPage.current.liveView = view
जहां आप वास्तव में संघर्ष कर रहे हैं? परत में दो गुण 'रंग' और' स्थान 'हैं जो आपके लिए उपयोग किए जाने चाहिए। क्या भाषा बीटीडब्ल्यू? – luk2302
आपका "उदाहरण" स्पष्ट नहीं है, समझाएं कि वास्तव में 0% -50%, 51% -80% और 81% -100% का मतलब क्या है और आपके द्वारा उपयोग किया गया कोड जोड़ें ताकि कोई आपको समस्या दिखा सके, अन्यथा हम सब कुछ कर सकते हैं दस्तावेज उद्धरण है। –
ढाल परत पर रंग ऐसा और ऐसा प्रतिशत होना चाहिए, डिफ़ॉल्ट रूप से सभी तीन रंग समान रूप से वितरित करेंगे जो मैं बदलना चाहता हूं। मैं उद्देश्य-सी का उपयोग कर रहा हूँ। धन्यवाद। –