Button size is enough, however when I change title, the title text cannot fit the button width. Any SDK function can solve this problem, or I need to manually code to solve it?
Please refer to following pictures.
design in the nib file.
initial show in simulator
when I change the title text
_button.titleLabel.adjustsFontSizeToFitWidth = YES;
the way will change my font size. I cannot accept the way.
[_button setTitleEdgeInsets:UIEdgeInsetsMake(10.0, 10.0, 0.0,0.0)];
the way change label's position only, not label size.
[_button.titleLabel sizeToFit];
result is same with picture(3).
[_button sizeToFit];
title moved to upper left corner, and the title still the same result.
Just confused, my button size is big enough, why title size is so small?
To make an UIButton's image align to the right side of the text, we force content flipping behavior to the one use it right-to-left language. 1 By adding this semanticContentAttribute = . forceRightToLeft , we force UIKit to mirrored our content which push our image to the right side of the text. Here is the result.
make your button Type - "Custom" and Uncheck - Highlighted Adjust image and you are done.
Use this.
Objective-c
button.titleLabel.numberOfLines = 1; button.titleLabel.adjustsFontSizeToFitWidth = YES; button.titleLabel.lineBreakMode = NSLineBreakByClipping;
Swift 2.0
button.titleLabel?.numberOfLines = 0 button.titleLabel?.adjustsFontSizeToFitWidth = true button.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
NOTE: Swift code courtesy: @Rachel Harvey
Swift 5.0
button.titleLabel?.numberOfLines = 0 button.titleLabel?.adjustsFontSizeToFitWidth = true button.titleLabel?.lineBreakMode = .byWordWrapping
For people who come across with this question:
Try using the setter:
[self.myButton setTitle:@"Title" forState:UIControlStateNormal]; [self.myButton sizeToFit];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With