我想确保按钮文本适合UIButton,而UIButton具有固定的大小。
当然,我可以访问UIButton的titleLabel。
在标签中,我将autoshrink
设置为最小字体比例,该比例似乎与
self.myButton.titleLabel.adjustsFontSizeToFitWidth = YES;
,但实际上却没有相同的效果,因为它只能使文本在水平方向上适合边界,而不是垂直方向上,从而不会更改字体大小。
我如何才能实际通过编程方式调整标签的字体大小,以使文本适合标签范围(如下图所示目标中所示)?

我已经试过了
self.myButton.titleLabel.numberOfLines = 0;
self.myButton.titleLabel.minimumScaleFactor = 0.5f;
没有成功,总会像上图左侧的
adjustsFontSizeToFitWidth
一样结束。编辑:该解决方案还必须与ios7兼容
最佳答案
self.mybutton.titleLabel.minimumScaleFactor = 0.5f;
self.mybutton.titleLabel.numberOfLines = 0; <-- Or to desired number of lines
self.mybutton.titleLabel.adjustsFontSizeToFitWidth = YES;
...在viewDidLoad中的layoutIfNeeded之后完成了技巧
事实证明,必须将所有这些设置为实际调整字体大小,而不仅仅是使其适合框架。
Swift 3更新:
mybutton.titleLabel?.minimumScaleFactor = 0.5
mybutton.titleLabel?.numberOfLines = 0 <-- Or to desired number of lines
mybutton.titleLabel?.adjustsFontSizeToFitWidth = true
关于ios - 调整文本的字体大小以适合UIButton,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32561435/