CCC CCC - 3 months ago 11
iOS Question

how do i let text fit to UIButton?


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.
enter image description here

initial show in simulator
enter image description here

when I change the title text
enter image description here

tried some ways before

  1. _button.titleLabel.adjustsFontSizeToFitWidth = YES;

    the way will change my font size. I cannot accept the way.

  2. [_button setTitleEdgeInsets:UIEdgeInsetsMake(10.0, 10.0, 0.0,0.0)];

    the way change label's position only, not label size.

  3. [_button.titleLabel sizeToFit];

    result is same with picture(3).

  4. [_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?


Use this.


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