UILabel在Interface Builder的Attributes Inspector中有一个Dynamic Type: Automatically Adjusts Font
复选框。
Interface Builder中是否有等效的用于自动调整UIButton的字体大小,还是必须在代码中处理?
我正在使用Xcode 9.0 beta 6,目标是iOS 11。
答案 0 :(得分:8)
显然没有,但是修复起来并不是很困难。您可以使用UIButton
属性在@IBInspectable
上进行扩展:
extension UIButton {
@IBInspectable
var adjustsFontForContentSizeCategory: Bool {
set {
self.titleLabel?.adjustsFontForContentSizeCategory = newValue
}
get {
return self.titleLabel?.adjustsFontForContentSizeCategory ?? false
}
}
}
现在,您只需为每个UIButton(或其任何子类)打开它即可。
答案 1 :(得分:1)
好吧,似乎只有在Interface Builder中可以做到这一点。我使用的是Xcode 11.5版。
1。。首先像往常一样设置动态字体类型:
我选择titleLabel.adjustsFontForContentSizeCategory
是因为根据此link,它将是15 pt高,这是我之前为按钮设置的字体大小。
2。。您无需在代码中设置{{1}},而可以在Xcode的“用户定义的运行时属性”部分中进行设置。