如何根据WatchKit中的手表大小缩放字体大小?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据WatchKit中的手表大小缩放字体大小?相关的知识,希望对你有一定的参考价值。

我有一个Apple Watch应用程序,我想根据屏幕大小缩放字体大小。目前,我发现缩放字体大小的唯一方法是基于为故事板中的每个大小设置设备变体。但是,我想知道是否有办法解决这个问题。我希望能够根据屏幕尺寸自动缩放字体大小。任何提示或建议表示赞赏。

答案

您应该将字体大小乘以屏幕的当前宽度,并将产品划分为您选择的参考屏幕尺寸(在此示例中,它是38毫米大小,宽度为136个逻辑像素)。

let label = WKInterfaceLabel()

let fontSize: CGFloat = 12
let scaledFontSize = fontSize * WKInterfaceDevice.current.screenBounds.width / 136

let font = UIFont.systemFont(ofSize: scaledFontSize)
let attrString = NSAttributedString(string: "Example Text", attributes: [.font: font])
label.setAttributedText(attrString)

以上是关于如何根据WatchKit中的手表大小缩放字体大小?的主要内容,如果未能解决你的问题,请参考以下文章

根据容器的宽度和高度缩放字体大小[重复]

如何根据容器大小设置字体大小? [复制]

动态字体大小缩放

如何在手表上测试不同的字体大小(动态类型)?

如果它比 WPF XAML 中的窗口大,如何缩放字体大小以适应窗口?

根据设备大小在多行 UIButton 上缩放字体