objective-c - बाएं संरेखण के रूप में UIButton का शीर्षक कैसे सेट करें?




(9)

मुझे UIButton बाईं ओर से ईमेल पता प्रदर्शित करने की आवश्यकता है, लेकिन यह केंद्र में स्थित है।

UIButton के बाईं तरफ संरेखण सेट करने का कोई तरीका है?

यह मेरा वर्तमान कोड है:

UIButton* emailBtn = [[UIButton alloc] initWithFrame:CGRectMake(5,30,250,height+15)];
emailBtn.backgroundColor = [UIColor clearColor];
[emailBtn setTitle:obj2.customerEmail forState:UIControlStateNormal];
emailBtn.titleLabel.font = [UIFont systemFontOfSize:12.5];
[emailBtn setTitleColor:[[[UIColor alloc]initWithRed:0.121 green:0.472 blue:0.823 alpha:1]autorelease] forState:UIControlStateNormal];
[emailBtn addTarget:self action:@selector(emailAction:) forControlEvents:UIControlEventTouchUpInside];
[elementView addSubview:emailBtn];
[emailBtn release];

Answers

UIButton *btn;
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

@DyingCactus के कोड में एक छोटी सी त्रुटि है। बटन 'शीर्षक' को बेहतर तरीके से नियंत्रित करने के लिए बटन टेक्स्ट को संरेखित करने के लिए UIButton में UILabel जोड़ने का सही समाधान यहां दिया गया है:

NSString *myLabelText = @"Hello World";
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];

// position in the parent view and set the size of the button
myButton.frame = CGRectMake(myX, myY, myWidth, myHeight); 

CGRect myButtonRect = myButton.bounds;
UILabel *myLabel = [[UILabel alloc] initWithFrame: myButtonRect];   
myLabel.text = myLabelText;
myLabel.backgroundColor = [UIColor clearColor];
myLabel.textColor = [UIColor redColor]; 
myLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:14.0];   
myLabel.textAlignment = UITextAlignmentLeft;

[myButton addSubview:myLabel];
[myLabel release];

उम्मीद है की यह मदद करेगा....

अल



स्विफ्ट 2.0 के लिए:

emailBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Left  

यह किसी की जरूरत पड़ने पर मदद कर सकता है।


इंटरफ़ेस बिल्डर में xcode 8.2.1 में यह चलता है:


स्विफ्ट 4+

button.contentHorizontalAlignment = .left
button.contentVerticalAlignment = .top
button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)

emailBtn.titleEdgeInsets का उपयोग contentEdgeInsets emailBtn.titleEdgeInsets से बेहतर है, यदि आप बटन के अंदर पूरी सामग्री स्थिति को बदलना नहीं चाहते हैं।


स्विफ्ट 3+ में:

button.contentHorizontalAlignment = .left

एक्सकोड में विशेष फ़ाइल के लिए एआरसी (स्वचालित संदर्भ गणना) को अक्षम करना संभव है।

लक्ष्य का चयन करें -> चरण बनाएं -> संकलन स्रोत -> फ़ाइल का चयन करें (डबल क्लिक करें) -> पॉप-अप विंडो में "-फनो-ओबीजेसी-आर्क" जोड़ें।

मुझे "पहुंच योग्यता" फ़ाइलों का उपयोग करने में इस स्थिति का सामना करना पड़ा था।

यह नीचे चित्र में दिखाया गया है:





objective-c uibutton