【发布时间】:2015-02-15 01:50:15
【问题描述】:
我正在使用自动布局。我有一个具有固定高度和宽度的 UIButton 和一个背景图像(圆角正方形)。它显示可变长度的文本字符串(假设在 1 到 30 个单词之间)。
我想让文本根据字符串长度自动收缩,并在我的按钮中最多包含 3 行文本。所以我这样做了:
[button.titleLabel setMinimumScaleFactor:0.01];
[button.titleLabel setAdjustsFontSizeToFitWidth: YES];
[button.titleLabel setNumberOfLines:3];
[button.titleLabel setTextAlignment:NSTextAlignmentCenter];
我还在 Interface Builder 中将字体大小设置为较高的值,例如 50。我将换行符设置为“剪辑”。
按钮的文本正确地适应字符数,但往往超出按钮的框架。它适用于中等长度的字符串,但不适用于大字符串,我不知道为什么。我试图在我的按钮上添加插图,但它并没有做太多,只会移动过大的文本,所以我假设字体调整是在嵌入插图之前计算的。
下面是截图。其中有 4 个按钮,包含在较大的蓝色视图中。红色背景是按钮的背景,黄色是用作背景的图像。
I uploaded an example project on Google Drive. Use iPhone 6 Plus for simulation.
【问题讨论】:
标签: ios objective-c fonts uibutton resize