खोज…


परिचय

UIButton : UIControl स्पर्श घटनाओं को स्वीकार करता है और टैप किए जाने पर किसी लक्ष्य वस्तु को एक क्रिया संदेश भेजता है। आप एक बटन का शीर्षक, छवि और अन्य उपस्थिति गुण सेट कर सकते हैं। इसके अलावा, आप प्रत्येक बटन स्थिति के लिए एक अलग उपस्थिति निर्दिष्ट कर सकते हैं।

टिप्पणियों

बटन प्रकार

एक बटन का प्रकार इसकी मूल उपस्थिति और व्यवहार को परिभाषित करता है। बटन बनाने के बाद, आप उसका प्रकार नहीं बदल सकते। सबसे अधिक उपयोग किए जाने वाले बटन प्रकार कस्टम और सिस्टम प्रकार हैं, लेकिन उपयुक्त होने पर अन्य प्रकार का उपयोग करते हैं

  • UIButtonTypeCustom

    No button style.
    
  • UIButtonTypeSystem

    A system style button, such as those shown in navigation bars and toolbars.
    
  • UIButtonTypeDetailDisclosure

    A detail disclosure button.
    
  • UIButtonTypeInfoLight

    An information button that has a light background.
    
  • UIButtonTypeInfoDark

    An information button that has a dark background.
    
  • UIButtonTypeContactAdd

    A contact add button.
    

कस्टम बटन बनाते समय- वह बटन कस्टम प्रकार के साथ होता है - बटन का फ्रेम शुरू में (0, 0, 0, 0) पर सेट होता है। अपने इंटरफ़ेस में बटन जोड़ने से पहले, आपको फ़्रेम को अधिक उपयुक्त मूल्य पर अपडेट करना चाहिए।

एक UIButton बनाना

UIButtons को एक फ्रेम में आरंभीकृत किया जा सकता है:

तीव्र

let button = UIButton(frame: CGRect(x: x, y: y, width: width, height: height)

उद्देश्य सी

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(x, y, width, height)];

एक विशिष्ट प्रकार का UIButton इस तरह बनाया जा सकता है:

तीव्र

let button = UIButton(type: .Custom) 

उद्देश्य सी

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

type कहां एक UIButtonType :

enum UIButtonType : Int {
    case Custom
    case System
    case DetailDisclosure
    case InfoLight
    case InfoDark
    case ContactAdd
    static var RoundedRect: UIButtonType { get }
}

शीर्षक सेट करें

तीव्र

button.setTitle(titleString, forState: controlState)

उद्देश्य सी

[button setTitle:(NSString *) forState:(UIControlState)];

"हैलो, वर्ल्ड!" के लिए डिफ़ॉल्ट शीर्षक सेट करने के लिए

तीव्र

button.setTitle("Hello, World!", forState: .normal)

उद्देश्य सी

[button setTitle:@"Hello, World!" forControlState:UIControlStateNormal];

शीर्षक रंग सेट करें

//Swift
button.setTitleColor(color, forControlState: controlState)

//Objective-C
[button setTitleColor:(nullable UIColor *) forState:(UIControlState)];

शीर्षक रंग को नीले रंग में सेट करने के लिए

//Swift
button.setTitleColor(.blue, for: .normal)

//Objective-C
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]

क्षैतिज रूप से संरेखित करने वाली सामग्री

तीव्र

//Align contents to the left of the frame
button.contentHorizontalAlignment = .left

//Align contents to the right of the frame
button.contentHorizontalAlignment = .right

//Align contents to the center of the frame
button.contentHorizontalAlignment = .center

//Make contents fill the frame
button.contentHorizontalAlignment = .fill

उद्देश्य सी

//Align contents to the left
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

//Align contents to the right
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;

//Align contents to the center
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

//Align contents to fill the frame
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;

शीर्षक लेबल प्राप्त करना

अंतर्निहित शीर्षक लेबल, यदि कोई मौजूद है, तो इसका उपयोग करके लाया जा सकता है

तीव्र

var label: UILabel? = button.titleLabel

उद्देश्य सी

UILabel *label = button.titleLabel;

उदाहरण के लिए, शीर्षक लेबल का फ़ॉन्ट सेट करने के लिए इसका उपयोग किया जा सकता है

तीव्र

button.titleLabel?.font = UIFont.boldSystemFontOfSize(12)

उद्देश्य सी

button.titleLabel.font = [UIFont boldSystemFontOfSize:12];

एक UIButton को अक्षम करना

एक बटन द्वारा अक्षम किया जा सकता है

तीव्र

myButton.isEnabled = false

उद्देश्य सी:

myButton.enabled = NO;

बटन ग्रे हो जाएगा:

यहाँ छवि विवरण दर्ज करें

यदि आप नहीं चाहते हैं कि अक्षम होने पर बटन का स्वरूप बदल जाए, तो adjustsImageWhenDisabled सेट adjustsImageWhenDisabled false / NO

कोड के माध्यम से एक UIButton के लिए एक क्रिया जोड़ना (प्रोग्रामेटिक रूप से)

बटन में विधि जोड़ने के लिए, पहले एक क्रिया विधि बनाएँ:

उद्देश्य सी

-(void)someButtonAction:(id)sender {
  // sender is the object that was tapped, in this case its the button.
    NSLog(@"Button is tapped"); 
}

तीव्र

func someButtonAction() {
    print("Button is tapped")
}

अब इस कार्य विधि को अपने बटन पर जोड़ने के लिए, आपको निम्नलिखित कोड की पंक्ति लिखनी होगी:

उद्देश्य सी

[yourButtonInstance addTarget:self action:@selector(someButtonAction) forControlEvents:UIControlEventTouchUpInside];

तीव्र

yourButtonInstance.addTarget(self, action: #selector(someButtonAction), forControlEvents: .TouchUpInside)

ENUM पैरामीटर के लिए, ENUM UIControlEvents के सभी सदस्य मान्य हैं।

फ़ॉन्ट सेट करना

तीव्र

myButton.titleLabel?.font =  UIFont(name: "YourFontName", size: 20)

उद्देश्य सी

myButton.titleLabel.font = [UIFont fontWithName:@"YourFontName" size:20];

एक बटन के लिए एक विधि संलग्न

बटन में विधि जोड़ने के लिए, पहले एक क्रिया विधि बनाएँ:

उद्देश्य सी

-(void) someButtonAction{
    NSLog(@"Button is tapped");

}

तीव्र

func someButtonAction() {
        print("Button is tapped")
    }

अब इस कार्य विधि को अपने बटन पर जोड़ने के लिए, आपको निम्नलिखित कोड की पंक्ति लिखनी होगी:

उद्देश्य सी

[yourButtonInstance addTarget:self action:@selector(someButtonAction) forControlEvents:UIControlEventTouchUpInside];

तीव्र

yourButtonInstance.addTarget(self, action: #selector(someButtonAction), forControlEvents: .touchUpInside)

ENUM के लिए, ENUM UIControlEvents के सभी सदस्य मान्य हैं।

UIButton का आकार उसके पाठ और फ़ॉन्ट के आधार पर सख्ती से प्राप्त करें

अपने फ़ॉन्ट के आधार पर एक UIButton के पाठ का सटीक आकार प्राप्त करने के लिए, फ़ंक्शन का उपयोग करें intrinsicContentSize

तीव्र

button.intrinsicContentSize.width

उद्देश्य सी

button.intrinsicContentSize.width;

छवि सेट करें

तीव्र

button.setImage(UIImage(named:"test-image"), forState: .normal)

उद्देश्य सी

[self.button setImage:[UIImage imageNamed:@"test-image"] forState:UIControlStateNormal];

मल्टीपल कंट्रोल स्टेट्स

आप कई UIControlStates लिए एक छवि भी सेट कर सकते हैं, उदाहरण के लिए Selected और Highlighted राज्य के लिए एक ही छवि सेट करने के लिए:

तीव्र

button.setImage(UIImage(named:"test-image"), forState:[.selected, .highlighted])

उद्देश्य सी

[self.button setImage:[UIImage imageNamed:@"test-image"] forState:UIControlStateSelected|UIControlStateHighlighted];


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow