Problem:
After setting a button’s titleEdgeInset and UITextAlignmentLeft the button’s title is still centered, not left-aligned.
Details:
I have a button 200px wide using a custom background with an image on the left. Since I don’t want the button title to cover the image, I inset the title using titleEdgeInset=UIEdgeInsetsMake(0.0, 45.0, 0.0, 0.0);. This should make title label’s x position start at 45px and end at 200px. I also want the button’s title to be left-aligned to the image, so I also set textAlignment = UITextAlignmentLeft. However, the title text is still centered between 45px and 200px, not left aligned.
Why?
Here’s the relevant code:
button.titleEdgeInsets = UIEdgeInsetsMake(0.0, 45.0, 0.0, 0.0);
button.titleLabel.textAlignment = UITextAlignmentLeft;
[button setTitle:@"X"];
My test code:
Note that I set
button.contentHorizontalAlignment, notbutton.titleLabel.textAlignment. My result: