मैं यूआईबटन को आकार UIButtonTypeCustom (आकार के लिए) के साथ बनाना चाहता हूं। मैं बटन.titleLabel का उपयोग करके शीर्षक असाइन करना चाहता हूं क्योंकि मुझे फ़ॉन्ट निर्दिष्ट करने की आवश्यकता है। निम्न कोड ऐसा लगता है कि इसे काम करना चाहिए, लेकिन नहीं - कोई लेबल दिखाई नहीं देता है, अवधि।आईओएस: यूआईबटन शीर्षक लेबल - क्या यह कुछ भी करता है?
UIImage *editButtonImage = [UIImage imageNamed: @"editButton.png"];
float width = editButtonImage.size.width;
float height = editButtonImage.size.height;
UIButton *editButton = [UIButton buttonWithType: UIButtonTypeCustom];
editButton.frame = CGRectMake(0, 0, width, height);
[editButton setBackgroundImage: editButtonImage forState: UIControlStateNormal];
editButton.adjustsImageWhenHighlighted = YES;
editButton.titleLabel.text = @"Edit";
editButton.titleLabel.textColor = [UIColor whiteColor];
editButton.titleLabel.textAlignment = UITextAlignmentCenter;
editButton.titleLabel.font = [UIFont fontWithName: @"Helvetica" size: 14];
[self.view addSubview: editButton];
हर कोई हमेशा सेटटाइट का उपयोग करने के लिए कहता है: forState: लेकिन यह आपको एक फ़ॉन्ट देता है जो मुझे पसंद नहीं है। शीर्षक लेबल विधि को बहिष्कृत नहीं किया गया है - इसे काम करना चाहिए।
मैंने इस बार कई बार भाग लिया है और हमेशा इसके आसपास काम किया है, लेकिन मैं वास्तव में इसे समझना चाहता हूं। कोई विचार?
तो एक चीज जिसे आप शीर्षक लेबल का उपयोग करके सेट नहीं कर सकते हैं वह वास्तविक टेक्स्ट मान है। यह मेरे लिए थोड़ा अजीब लगता है, लेकिन ठीक है। – Amagrammer
यह पहले थोड़ा सा counterintuitive है। जाहिर है, लेबल की 'टेक्स्ट' प्रॉपर्टी सेट करना' -setTitle: forState' को कॉल करने के लिए शॉर्टकट होगा, लेकिन ऐसा नहीं है। – LucasTizma
इसी तरह ऐसा लगता है कि आप टेक्स्ट लेबल को सीधे लेबल लेबल की सेट नहीं कर सकते हैं, लेकिन setTitleColor: forState: method का उपयोग करना होगा। इसका उल्लेख करने के लिए धन्यवाद, क्योंकि यह दस्तावेज़ीकरण में नहीं है। – arlomedia