我想创建一个自定义字体以在我的 SwiftUI 应用程序中使用。我创建了一个 Font
扩展:
static var acBody1: Font {
return .custom("SuisseIntl", size: 17, relativeTo: .body)
}
static var acBody1Semibold: Font {
return .custom("SuisseIntl-SemiBold", size: 17, relativeTo: .body)
}
但与其为半粗体引用一个单独的字体,我宁愿做类似的事情......
Font.acBody1.semibold()
...类似于使用原生字体的方式。我在 UIKit 中设置了这样的东西。我引用了正在使用的字体的大小,然后返回该大小的半粗体字体。但据我所知,SwiftUI 字体一旦创建就无法获得 pointSize
。所以我不确定如何进行 semibold
修饰符链接。
这可能吗?
答案 0 :(得分:1)
这有帮助吗?
extension Font {
static var acBody1: Font {
return .custom("SuisseIntl", size: 17, relativeTo: .body)
}
public func semibold() -> Font {
switch self {
case .acBody1:
return .custom("SuisseIntl-SemiBold", size: 17, relativeTo: .body)
default:
return self
}
}
}
建议:
根据用例,您可以将 default
情况更改为返回 self.weight(.semibold)
,以便 semibold()
函数始终返回 semi-bolded
字体。