【发布时间】:2015-02-08 16:20:20
【问题描述】:
我的问题很简单。有没有办法为UIButton 设置最小字体大小,这样可以很容易地用UILabel 设置?
【问题讨论】:
标签: ios objective-c uibutton font-size
我的问题很简单。有没有办法为UIButton 设置最小字体大小,这样可以很容易地用UILabel 设置?
【问题讨论】:
标签: ios objective-c uibutton font-size
button.titleLabel.numberOfLines = 1;
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.lineBreakMode = NSLineBreakByClipping;
【讨论】:
adjustsFontSizeToFitWidth = YES; 这样做
Anoop 的回答很有魅力。您也可以使用用户定义的运行时属性在 IB 中执行此操作:
- 在 IB 中选择按钮
- 添加属性
- KeyPath:titleLabel.adjustsFontSizeToFitWidth
- 类型:布尔值
- 值:真
Screenshot from IB
【讨论】:
Set Minimumfontsize 在 iOS8 中不可用,请改用 minimumscalefactor。
【讨论】:
在 Swift 4/5 中
请确保 yourBtn 在@IBoutLet 中可用,而不是在操作中
在 viewdidLoad 或 viewWillAppear 中
override func viewDidLoad() {
super.viewDidLoad()
yourBtn.titleLabel?.numberOfLines = 1
yourBtn.titleLabel?.adjustsFontSizeToFitWidth = true
yourBtn.titleLabel?.lineBreakMode = NSLineBreakMode.byClipping
}
【讨论】:
对于 Swift 5.0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
YourButton.titleLabel?.numberOfLines = 1
YourButton.titleLabel?.adjustsFontSizeToFitWidth = true
}
【讨论】:
Teetz 的回答很有魅力。如果您想在 UIButton 边缘的 titleLabel 之间添加边距adjustsFontSizeToFitWidth,您可以在第一个字符之前和最后一个字符之后添加一些空格.所以,它看起来很整洁。
【讨论】: