UIButton - 如何设置最小字体大小?
Posted
技术标签:
【中文标题】UIButton - 如何设置最小字体大小?【英文标题】:UIButton - How to set Minimum Font Size? 【发布时间】:2015-02-08 16:20:20 【问题描述】:我的问题很简单。有没有办法为UIButton
设置最小字体大小,这样可以很容易地用UILabel
设置?
【问题讨论】:
【参考方案1】:button.titleLabel.numberOfLines = 1;
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.lineBreakMode = NSLineBreakByClipping;
复制自Set minimum font size UIButton with margin
【讨论】:
虽然它适用于作者,但答案中没有提供最小字体大小设置 @PrzemysławWrzesiński:adjustsFontSizeToFitWidth = YES;
这样做
不,它没有。它会缩小文本,但要设置最小字体大小,您还需要使用 minimumScaleFactor
@PrzemysławWrzesiński:UILabel 还是 UIButton??
UILabel: developer.apple.com/reference/uikit/uilabel/…【参考方案2】:
Anoop 的回答很有魅力。您也可以使用用户定义的运行时属性在 IB 中执行此操作: - 在 IB 中选择按钮 - 添加属性 - KeyPath:titleLabel.adjustsFontSizeToFitWidth - 类型:布尔值 - 值:真Screenshot from IB
【讨论】:
【参考方案3】:Set Minimumfontsize 在 ios8 中不可用,请改用 minimumscalefactor。
【讨论】:
【参考方案4】:在 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
【讨论】:
【参考方案5】:对于 Swift 5.0
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
YourButton.titleLabel?.numberOfLines = 1
YourButton.titleLabel?.adjustsFontSizeToFitWidth = true
【讨论】:
【参考方案6】:Teetz 的回答很有魅力。如果您想在 UIButton 边缘的 titleLabel 之间添加边距adjustsFontSizeToFitWidth,您可以在第一个字符之前和最后一个字符之后添加一些空格.所以,它看起来很整洁。
【讨论】:
以上是关于UIButton - 如何设置最小字体大小?的主要内容,如果未能解决你的问题,请参考以下文章