SwiftUI/UIKit 如何将 SwiftUI 字体转换为 UIKit UIFont?

zrf*_*ank 5 swiftui

由于 SwiftUI 文本中的一些限制。我必须使用 UIText 代替。

在 UIViewRepresentable 中,

    func makeUIView(context: Context) -> UITextView {
        let vw = UITextView()
        let env = context.environment
        
        // UIFont?     Font?
        vw.font = env.font

        ...
    }
Run Code Online (Sandbox Code Playgroud)

我想使用 SwiftUI EnvironmentValues 初始化 UIKit UILabel。

更具体地说,为 UIKit UIFont 分配一个 SwiftUI 字体。

问题是,如何将 Font 转换为 UIFont?

Asp*_*eri 14

如果您需要共享相同的字体,则UIFont用作模型属性并在需要时在 SwiftUI 中进行转换,例如

Text("Some text")
   .font(Font(uiFont as CTFont))
Run Code Online (Sandbox Code Playgroud)