2009-11-23 12 views
17

मैं आईओएस एप्लिकेशन विकास के लिए नया हूं और जानना चाहता हूं कि बटन में UIEdgeInsets संपत्ति का उपयोग कैसे करें, इसलिए कृपया मुझे मार्गदर्शन करें।आईफोन में बटन में UIEdgeInsets प्रॉपर्टी का उपयोग कैसे करें

उत्तर

71

सबसे पहले, आपका प्रश्न यह स्पष्ट नहीं है कि आप क्या हासिल करने का प्रयास कर रहे हैं, इसलिए ... एक सामान्य प्रश्न पूछें, एक सामान्य उत्तर प्राप्त करें।

UIButton में UIEdgeInsets - contentEdgeInsets, titleEdgeInsets, और imageEdgeInsets के तीन गुण हैं। आप इन गुणों का उपयोग सभी बटन सामग्री के लिए विशिष्ट इन्सेट असाइन करने के लिए कर सकते हैं, जिसमें शीर्षक और छवि, या एक या दूसरे दोनों शामिल हैं।

आप UIEdgeInsetsMake() फ़ंक्शन का उपयोग करके UIEdgeInsets मान बनाते हैं। UIEdgeInsets अलग-अलग, बाएं, नीचे, और दाएं (क्रमशः) के इन्सेट मानों के लिए अलग-अलग CGFloat मानों को अलग-अलग करता है। सकारात्मक इन्सेट मान सामग्री क्षेत्र को कम करते हैं, जबकि नकारात्मक इन्सेट मान प्रभावी ढंग से इसे बढ़ाएंगे।

यदि आपके पास UIButton के साथ UIEdgeInsets का उपयोग करने के बारे में एक और अधिक विशिष्ट सवाल है, तो मेरा सुझाव है कि आप पुनर्विचार करें कि इसे कैसे पूछें और पुनः प्रयास करें। :)

संपादित (पता करने के लिए टिप्पणी में सवाल): लगता है कि आपने निम्नलिखित क्या करना चाहते हैं, तो:

UIEdgeInsets titleInsets = UIEdgeInsetsMake(0.0, 7.0, 0.0, 0.0); 
button.titleEdgeInsets = titleInsets; 
+0

मेरे पास एक बटन है और मैं चाहता हूं कि उस बटन का शीर्षक 7 से 9 वर्ण शेष हो, भले ही मैंने संरेखण को बाएं संपत्ति पर सेट किया हो। – Ankit

+10

यह शीर्ष, बाएं, नीचे, दाएं है: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKitDataTypesReference/Reference/reference.html – kevboh

+0

महान स्पष्टीकरण के लिए धन्यवाद। – iOSAppDev

3

आप बटन के लिए एक विस्तार चाहते हैं और बस का उपयोग करते हैं, इस

button.setInset का उपयोग करें (: 0.0, छोड़ दिया: शीर्ष 7.0, नीचे: 0.0, सही: 0,0)

extension UIButton { 
    /** 
     Creates an edge inset for a button 
     :param: top CGFLoat 
     :param: left CGFLoat 
     :param: bottom CGFLoat 
     :param: right CGFLoat 
    */ 
    func setInset(#top: CGFloat, left: CGFloat, bottom: CGFloat, right: CGFloat) { 
      self.titleEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right) 
    } 
} 
0

ध्यान दें कि कभी-कभी, आपको contentEdgeInsets को सेट करने की आवश्यकता नहीं होगी। बस बटन को एक बड़ी ऊंचाई और चौड़ाई की बाधा दें। शीर्षक स्वयं ही केंद्र होगा।

संबंधित मुद्दे