我正在创建一个应用程序,在其故事板中我有一个UIButton
元素。我需要此UIButton
的文本自动缩小,因为它会根据视图的大小进行缩放。在storyboard中,它具有以下属性:
在我的代码中,它说:
guard button.titleLabel != nil else {
throw AutoshrinkError.noTitleLabel(button: button)
}
button.titleLabel!.adjustsFontSizeToFitWidth = true
button.titleLabel!.numberOfLines = 0
button.titleLabel!.lineBreakMode = NSLineBreakMode.byTruncatingTail
button.titleLabel!.baselineAdjustment = UIBaselineAdjustment.alignBaselines
我知道guard
语句已通过(即它下面的代码运行)。
问题是,通过上面的设置,我的按钮最终看起来像这样:
在文字前加上换行符。
我尝试过多种方式编辑代码,包括将button.titleLabel!.numberOfLines
设置为1
,将button.titleLabel!.lineBreakMode
设置为NSLineBreakMode.byClipping
,或删除关于button.titleLabel!.baselineAdjustment
的行。这些变化都没有帮助这种情况。相反,它们会导致更多问题,例如文本根本没有缩小。
如果有人知道如何防止这种换行情节发生,我将不胜感激。
提前致谢!
UIButton
的约束是:
woodgrain
是UIImageView
,用作背景图片。
答案 0 :(得分:0)
我明白了!我所要做的就是添加一个简单的行:
button.titleLabel!.baselineAdjustment = UIBaselineAdjustment.alignCenters
我想从@rintaro调整baselineAdjustment
this answer。
现在我的UIButton
看起来像这样: