swift - 列出 macOS 的 SwiftUI 中所有可用的字体

标签 swift swiftui appkit nsfont

我知道如何在 iOS 上执行此操作,但我不知道如何在 macOS 上执行此操作。

let allFontNames = UIFont.familyNames.flatMap { UIFont.fontNames(forFamilyName: $0) }

 var body: some View {
   List(allFontNames, id: \.self) { name in
     Text(name)
       .font(Font.custom(name, size: 12))
   }
 }

Source for iOS code

最佳答案

这是一个使用 NSFontManager 的示例:

struct FontView: View {
    let allFontNames = NSFontManager.shared.availableFonts
    var body: some View {
        List(allFontNames, id: \.self) { name in
            Text(name).font(Font.custom(name, size: 12))
        }
    }
}

关于swift - 列出 macOS 的 SwiftUI 中所有可用的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75772728/

相关文章:

macos - NSWindow contentView无法覆盖整个窗口大小-macOS和SwiftUI

swiftui - 尝试将新的 SwiftData 框架与谓词一起使用,但我收到 "Unsupported Predicate"错误

cocoa - 使 NSWindow.isMovableByWindowBackground 与 NSTextField 一起使用

objective-c - 自定义 NSWindow 绘图

swift - 带有包含 NSFont 对象的 attributedTitle 的 NSMenuItem 绘制带有基线偏移的标题

SwiftUI 剪裁图像并未真正剪裁

struct - Swift - 访问结构

objective-c - NSNotification VS KVO

ios - 如何在 iOS 中自己创建的模型类中使用泛型?

swift - macOS/swift 使用 AVCaptureSession 捕获音频