我有这个奇怪的问题,我已经处理了超过 8 个小时。根据情况我必须动态计算 UILabels
大小,
例如
我的 UIViewController
收到一个事件,我改变 UILabels
的大小。从大到小。我的 UILabel
的大小变小了,我得到了正确的所需大小,但我的 UILabel
中的文本保持不变,相同的字体大小等。我需要字体变小,使整个文本适合 UILabel
。所以问题是如何使文本适合我的标签 autoshrinking
或类似的东西?
在我的 xib
中,UILabels
autoshrink
被选中,行数 设置为 0,并且我的字符串也有换行符 (\n),我选择了 linebreakmode 到 wordwrap
。也许有人和我现在的情况一样,可以帮助我吗?我真的很感激。
提前致谢!
编辑: UILabel
最小字体大小设置为 10
最佳答案
如果您仍在寻找更好的解决方案,我认为这就是您想要的:
一个 bool 值,指示是否应减小字体大小以使标题字符串适合标签的边界矩形(此属性仅在 numberOfLines
属性设置为 1 时有效)。
设置此属性时,也必须设置 minimumScaleFactor
(一个好的默认值为 0.5)。
var adjustsFontSizeToFitWidth: Bool { get set }
@property(nonatomic) BOOL adjustsFontSizeToFitWidth;
一个 bool 值,指示是否应调整字母之间的间距以适应标签边界矩形内的字符串。
var allowsDefaultTighteningForTruncation: Bool { get set }
@property(nonatomic) BOOL allowsDefaultTighteningForTruncation;
Source .
https://stackoverflow.com/questions/9908334/