Raju
Raju

Reputation: 3469

UIButton title alignment and multiline support

How do I set the title of a UIButton to be left-aligned, and how can I show multiple lines of text in a UIButton?

Upvotes: 67

Views: 45795

Answers (5)

Marc
Marc

Reputation: 233

Actually, you can set the lineBreakMode to UILineBreakModeWordWrap or UILineBreakModeCharacterWrap. This breaks the text into multiple lines if necessary.

Upvotes: 8

Anthone
Anthone

Reputation: 2284

To add a Paragraph effect you can change the size of title.

For alinea effect

Upvotes: 3

nevan king
nevan king

Reputation: 113747

To set the alignment of a UIButton, look in the Attributes Inspector in Interface Builder for the button. There's a section called Alignment. Set it to left. Or right, or whatever you want.

enter image description here

To do it in code, use the contentHorizontalAlignment property of UIControl. You can set it to any of these properties:

UIControlContentHorizontalAlignmentCenter
UIControlContentHorizontalAlignmentLeft
UIControlContentHorizontalAlignmentRight
UIControlContentHorizontalAlignmentFill

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentRight];

None of these options look particularly good (as you can see above), and you might have might have more luck using the contentEdgeInsets property of UIButton to reposition the content.

To set a multiline title on a UIButton, check this forum post which describes changing the button label.

Or you can use this code to quickly make a 2 line button:

myButton.titleLabel.textAlignment = UITextAlignmentCenter;
myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
[myButton setTitle:@"Siegfried\nRoy" forState:UIControlStateNormal];

enter image description here

Raju, don't forget to mark questions as accepted.

Upvotes: 131

rakeshNS
rakeshNS

Reputation: 4257

Try this

    myButton.titleLabel.textAlignment = UITextAlignmentLeft;
    myButton.titleLabel.lineBreakMode = UILineBreakModeCharacterWrap;
    myButton.titleLabel.numberOfLines = 0;

Upvotes: 6

Ian Kershaw
Ian Kershaw

Reputation: 2042

Here's the code to do the UIButton alignment in code too: -

[myButton setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];

Upvotes: 185

Related Questions