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




objective-c (7)

@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];

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

अल

मुझे 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];

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



सामग्री सेट करें हॉरिज़ोंटल एलाइनमेंट:

emailBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

आप सामग्री को बाएं इंसेट को भी समायोजित करना चाहते हैं अन्यथा पाठ बाएं सीमा को छूएगा:

emailBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

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

button.contentHorizontalAlignment = .left

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


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




uibutton