我已在标签中添加了最小字体大小,但字体并未根据屏幕尺寸而变化。
我认为设置最小字体大小并使用自动布局来缩放标签高度就足够了。
但这并没有发生。
TextKit 提供了内置支持,用于制作具有基于自动布局的自适应文本字体大小的 UI。
https://developer.apple.com/design/adaptivity/
查看上述文章中有关动态文本的详细信息。
扩展 UIFont {
class func dynamicFontSizeWithName(fontName: String, fontSize: CGFloat) -> UIFont {
/*
You can replace 320 with the value you desire based on what resolution the screen is designed in. Here are the values you can replace 414 with, based on the phone:
E.g :
iPhone 6, 7, 8 Plus — 414
iPhone X — 375
*/
let screenWidth = UIScreen.main.bounds.size.width
let calculatedFontSize = screenWidth / 414 * fontSize
return UIFont(name: fontName, size: calculatedFontSize)!
}
}
使用= label.font = UIFont.dynamicFontSizeWithName(fontName:.......