我如何让文字适合UIButton?

CCC*_*CCC 21 uibutton uilabel ios

问题:

按钮大小就足够了,但是当我更改标题时,标题文本无法适应按钮宽度.任何SDK功能都可以解决这个问题,或者我需要手动编码来解决它?

请参考以下图片.

在nib文件中设计. 在此输入图像描述

模拟器中的初始显示 在此输入图像描述

当我改变标题文字时 在此输入图像描述

之前尝试了一些方法

  1. _button.titleLabel.adjustsFontSizeToFitWidth = YES;
    这种方式会改变我的字体大小.我不能接受的方式.

  2. [_button setTitleEdgeInsets:UIEdgeInsetsMake(10.0,10.0,0.0,0.0)];
    改变标签位置的方式,而不是标签尺寸.

  3. [_button.titleLabel sizeToFit];
    结果与图片(3)相同.

  4. [_button sizeToFit];
    标题移到左上角,标题仍然是相同的结果.

只是困惑,我的按钮大小足够大,为什么标题尺寸如此之小?

Nil*_*esh 42

用这个.

Objective-C的

button.titleLabel.numberOfLines = 1;
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.lineBreakMode = NSLineBreakByClipping; 
Run Code Online (Sandbox Code Playgroud)

Swift 2.0

button.titleLabel?.numberOfLines = 0
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
Run Code Online (Sandbox Code Playgroud)

注意:Swift代码礼貌:@Rachel Harvey

  • 我最近为Swift 2编辑了这个并且使单词换行:`button.titleLabel!.numberOfLines = 0 button.titleLabel!.adjustsFontSizeToFitWidth = true button.titleLabel!.lineBreakMode = NSLineBreakMode.ByWordWrapping` (3认同)
  • `button.titleLabel.adjustsFontSizeToFitWidth = YES;` 仅这一行就可以解决问题 (2认同)

Jon*_*iaz 12

对于遇到此问题的人:

尝试使用setter:

 [self.myButton setTitle:@"Title" forState:UIControlStateNormal];
 [self.myButton sizeToFit];
Run Code Online (Sandbox Code Playgroud)