如何在macOS的SwiftUI中列出所有可用字体?
在macOS SwiftUI中列出所有可用字体的实现方法
在macOS环境下,只需将iOS实现中的UIFont替换为AppKit框架下的NSFont,即可完成可用字体的列表展示,具体代码如下:
import SwiftUI import AppKit struct FontListView: View { // 获取系统所有可用字体名称 let allFontNames = NSFont.familyNames.flatMap { NSFont.fontNames(forFamilyName: $0) } var body: some View { List(allFontNames, id: \.self) { fontName in Text(fontName) .font(Font.custom(fontName, size: 12)) } .navigationTitle("可用字体列表") } }
代码说明
- 通过
NSFont.familyNames获取系统中所有字体家族名称,再调用fontNames(forFamilyName:)提取每个家族下的具体字体,最后用flatMap合并为完整的字体名称数组。 - 在SwiftUI的
List中逐个展示字体名称,同时使用对应字体渲染文本,可直观查看字体的实际显示效果。
内容的提问来源于stack exchange,提问作者KevinF
相关产品推荐
相关产品推荐

