2013-09-23 12 views
51

मेरे पास एक ऐप है जिसमें कई राउंड रेक्ट बटन शामिल हैं। हालांकि, एक्सकोड 5 में, वे मौजूद नहीं हैं। मैं गोल रेक्ट बटन वापस कैसे प्राप्त करूं? वे मेरे ऐप के लिए आवश्यक हैं। अब यह सिर्फ प्रेस करने योग्य पाठ है। मैं क्या करूं? मैं बाद में इस ऐप को जारी करने की योजना बना रहा हूं, अगर यह प्रासंगिक है।एक्सकोड 5 राउंड रेक्ट बटन

+0

आश्चर्यजनक रूप से iOS 7 मानचित्र ऐप्लिकेशन दौर रेक्ट जानकारी बटन है viewDidLoad जोड़ा जा सकता है। –

उत्तर

153
  1. स्टोरीबोर्ड खोलें और वह बटन चुनें जिसे आप बदलना चाहते हैं।
  2. उपयोगिता पैनल में पहचान निरीक्षक खोलें (दायां पैनल, शीर्ष पर तीसरा बटन)।
  3. जोड़ें (+) एक नया उपयोगकर्ता परिभाषित रनटाइम विशेषता - कुंजी पथ: layer.cornerRadius, प्रकार: संख्या, मान: {पूर्णांक}।

संख्या जितनी अधिक होगी, कोनों को अधिक गोल किया जाएगा। 50 मानक बटन (या चौड़ाई/2) के लिए एक सर्कल है। आपको स्टोरीबोर्ड में बदलाव दिखाई नहीं देगा, लेकिन यह रनटाइम पर दिखाएगा।

Screenshot of added attribute

+8

इस तरह के उत्तर हैं इसलिए मुझे एसओ पसंद है। बहुत बहुत धन्यवाद। – tim

+0

आईबी से चाल करने के लिए सीखना अच्छा है –

3

एक खिंचाव छवि का उपयोग करके वांछित सीमाओं के साथ अपने बटन पर एक पृष्ठभूमि छवि सेट करें।

चेक एक अच्छा उदाहरण के लिए इस लिंक: Stretch background image for UIButton

या, नई iOS7 यूआई को गले लगाने और सीमाओं स्क्रैप ... ;-)

10

यहाँ एक मैं this question: को दे दिया करने के लिए एक समान जवाब

-EDIT-
जोड़ें: #import <QuartzCore/QuartzCore.h> अपने .h फ़ाइल के शीर्ष पर जोड़ें।

आप अपने .h फाइल करने के लिए गोलाकार कोनों सिर्फ ctrl-drag बटन से चाहते हैं, यह roundedButton की तरह कुछ फोन करने और अपने viewDidLoad में जोड़ें:

CALayer *btnLayer = [roundedButton layer]; 
[btnLayer setMasksToBounds:YES]; 
[btnLayer setCornerRadius:5.0f]; 

बटन सफेद (या किसी अन्य रंग) बनाने के लिए, गुण निरीक्षक का चयन करें और View अनुभाग तक नीचे स्क्रॉल, पृष्ठभूमि का चयन और सफेद करने के लिए बदल:

enter image description here

+4

बहुत महत्वपूर्ण है। यह तब तक काम नहीं करेगा जब तक आप #import skinsfan00atg

+0

उचित बिंदु और +1 जोड़ते हैं। मैंने इसे शामिल करने के लिए उत्तर संपादित किया है। – Robert

+1

धन्यवाद, कोई चिंता नहीं, बस मुझे एक सेकंड लिया ताकि मैं साझा करना चाहता था। कड़ी मेहनत के लिए धन्यवाद :-) – skinsfan00atg

3

एक ही कर सकते हैं programmatically.where MyView के द्वारा प्राप्त किया IBOutlet वस्तु है।

myView.layer.cornerRadius = 5; 
myView.layer.masksToBounds = YES; 
3

स्विफ्ट 2.0:

let sampleButton = UIButton(frame: CGRectMake(100,100,200,100)) 
    sampleButton.titleLabel?.text = "SAMPLE" 
    sampleButton.backgroundColor = UIColor.grayColor() 

    //Setting rounded boarder 
    sampleButton.layer.cornerRadius = 10 
    sampleButton.layer.borderWidth = 1 
    sampleButton.layer.borderColor = UIColor.blackColor().CGColor 

    self.view.addSubview(sampleButton) 
3

बटन आप गोल प्राप्त करना चाहते हैं पर क्लिक करें। फिर पर क्लिक करेंदाईं ओर दाईं ओर पर क्लिक करें। वहां आप उपयोगकर्ता परिभाषित रनटाइम गुण देख सकते हैं।प्लस (+)

see image

पर क्लिक करें आप अभ्यस्त देखें में परिवर्तन देखने। आप रनटाइम

1

स्विफ्ट 3 में में इसे देखेंगे: हम यह

button.layer.cornerRadius = 0.5*button.bounds.size.width 
    button.clipsToBounds = true 
संबंधित मुद्दे