我正在使用自动布局.我有一个固定高度和宽度的UIButton和一个背景图像(圆角正方形).它显示可变长度的文本字符串(介于1到30个单词之间,比如说).
我想根据字符串长度使文本自动收缩,并在我的按钮中最多包含3行文本.所以我这样做了:
[button.titleLabel setMinimumScaleFactor:0.01];
[button.titleLabel setAdjustsFontSizeToFitWidth: YES];
[button.titleLabel setNumberOfLines:3];
[button.titleLabel setTextAlignment:NSTextAlignmentCenter];
Run Code Online (Sandbox Code Playgroud)
我还在Interface Builder中将字体大小设置为50的高值.我将换行设置为"Clip".
按钮的文本正确地适应字符数,但它往往超出按钮的框架.它适用于中等长度的字符串但不适用于大字符串,我不知道为什么.我试图在我的按钮上添加插件,但它没有做太多,只是移动过大的文本,所以我假设字体调整是在插入插入之前计算的.
截图下方.这些按钮中有4个,包含在较大的蓝色视图中.红色背景是按钮的背景,黄色是用作背景的图像.