2015-01-15 15 views
6

मैं अपने UIButton के चारों ओर एक फ्लैट दिखने वाला सफेद चाहता हूं। मैं इसे स्टोरीबोर्ड या प्रोग्रामेटिक रूप में पसंद करूंगा। मेरा कोड काम नहीं कर रहा है।सीमावर्ती आईओएस 8 बटन स्विफ्ट

कोड:

UIButton.layer.cornerRadius = 2; 
UIButton.layer.borderWidth = 1; 
UIButton.layer.borderColor = UIColor.whiteColor() 
+1

पर इस लाइन जोड़े आप पर "काम नहीं कर रहा" विस्तृत कर सकते हैं? क्या ऐसा इसलिए है क्योंकि आप उस वर्ग के उदाहरण के बजाय UIButton कक्षा पर गुण सेट करने का प्रयास कर रहे हैं? –

+1

UiButton.type में परत नाम का सदस्य नहीं है त्रुटि –

+0

सही है, UIButton प्रकार में वे गुण नहीं हैं जिन्हें आप एक्सेस करने का प्रयास कर रहे हैं। आपको कक्षा का एक उदाहरण चाहिए। –

उत्तर

16

आप सेट की तुलना में उदाहरण myButton के लिए नामित अपने कुलपति को स्टोरीबोर्ड से अपने बटन के लिए आउटलेट संदर्भित उसके गुण

myButton.layer.cornerRadius = 2; 
myButton.layer.borderWidth = 1; 
myButton.layer.borderColor = UIColor.whiteColor().CGColor 
1

रूप 0x7FFFFFFF कहा बनाना चाहिए।

instanceOfUIButton.layer.cornerRadius = 2; 
5

आप या तो कोड के साथ ऐसा करने की जरूरत नहीं है: UIButton वर्ग यह इस

let instanceOfUIButton = UIButton() 

की तरह अपने निर्माता लागू तो आप इच्छित गुण सेट कर सकते हैं बू instatiated जा सकता है। आप एक खिंचाव छवि बना सकते हैं और इसे विशेषता निरीक्षक में बटन की पृष्ठभूमि छवि पर सेट कर सकते हैं।

enter image description here

+0

लिंक अनुपलब्ध है – ursa

+0

धन्यवाद, लिंक हटा दिया गया था – iOSAaronDavid

0

Xcode 8.2 (स्विफ्ट 3) में आप "पहचान निरीक्षक टैब" का उपयोग कर सकते हैं। अपने UIButton का चयन करने के बाद, "उपयोगकर्ता परिभाषित रनटाइम विशेषताएँ" के लिए खोजें। वहां आप इन विशेषताओं को परिभाषित कर सकते हैं:

  1. कुंजी पथ: layer.cornerRadius; 2-प्रकार: संख्या, 3-मूल्य: 2
  2. कुंजी पथ: layer.borderWidth; 2-प्रकार: संख्या, 3-मान: 1
  3. कुंजी पथ: layer.bordercolor; 2-प्रकार: रंग, 3-मान: "सफेद या अन्य चुनें"
0

प्रत्येक बटन का संदर्भ बनाने के बजाय एक और विकल्प यूआईबटन के प्रकार का उप-वर्ग बनाना होगा। फिर आप उप-वर्ग में गुण सेट कर सकते हैं। इसके बाद आप स्टोरीबोर्ड के सभी बटनों की कक्षा को बदल सकते हैं जिनके लिए समान गुण होना आवश्यक है।

class MyButton: UIButton { 

override func draw(_ rect: CGRect) { 
     super.draw(rect) 
     layer.borderWidth = 1.0 
     layer.borderColor = UIColor.White 
     layer.cornerRadius = 2 
    } 

} 
0

शीर्ष

myButton.layer.masksToBounds = true 
संबंधित मुद्दे