我有兴趣根据显示设备动态调整我使用的字体大小。该应用程序配置为仅允许纵向显示。
24vw
如评论中所述,我收到错误struct DisplayFonts {
static let NavBarTitleFont = UIFont.init(name: "Montserrat-Bold", size: 20.0*fontSizeMultipler) //error
private var fontSizeMultipler: CGFloat {
get {
let screenSize = UIScreen.main.bounds
let screenWidth: CGFloat = screenSize.width
let templateScreenWidth: CGFloat = 375.0
return screenWidth / templateScreenWidth
}
}
}
。我想知道是否有另一种方法可以使用我当前的Cannot use instance member fontSizeMultipler
所以字体大小可以通过屏幕大小更新? Thaks!
答案 0 :(得分:1)
你刚做了一个小错误:
struct DisplayFonts {
static let NavBarTitleFont = UIFont.init(name: "Montserrat-Bold", size: 20.0*fontSizeMultipler)
private static var fontSizeMultipler: CGFloat {
get {
let screenSize = UIScreen.main.bounds
let screenWidth: CGFloat = screenSize.width
let templateScreenWidth: CGFloat = 375.0
return screenWidth / templateScreenWidth
}
}
}
看看我如何将var fontSizeMultipler
更改为静态,现在两个变量都处于相同的可见性级别,现在它应该可以正常工作。
答案 1 :(得分:1)
您还应该将fontSizeMultipler变量声明为static:
private static var fontSizeMultipler: CGFloat
答案 2 :(得分:0)
此错误完全清楚。您正在使用“fontSizeMultipler”来计算定义为“static”的属性的值,因此您需要将“fontSizeMultipler”定义为静态