请仔细阅读问题,这是一个 MAC 应用程序,systemName 在 mac os 上不可用
我正在尝试在 macOS 上使用 swiftUI 构建一个简单的应用程序,但是在显示某些图标时遇到一些问题。
我现在到处都读到,您需要下载 SF Symbols 应用程序并自己导出符号才能使用它们,所以我这样做了,然后将导出的符号添加到.xcassets
现在我正在尝试创建一个带有图像的按钮,所以这里是代码:
import SwiftUI
struct ActionBar: View {
var body: some View {
HStack {
Spacer()
Button(action: {
}) {
Image("Plus")
.font(Font.system(size: 24, weight: .light))
.foregroundColor(Color.red)
Text("Test")
}
}
.frame(maxWidth: .infinity)
.padding()
.background(Color.init(red: 0.8, green: 0.8, blue: 0.8))
}
}
struct ActionBar_Previews: PreviewProvider {
static var previews: some View {
ActionBar()
}
}
我尝试了很多变体,例如:
Image(nsImage: NSImage(name: "Plus"))
但所有的信息都在那里,包括苹果自己的文档 https://developer.apple.com/documentation/uikit/uiimage/configuring_and_displaying_symbol_images_in_your_ui只谈论 UIImage,据我所知,它是 UIKit 的一部分,UIKit 是 UI 框架的 iOS 版本,有人让它在 macOS 上工作吗?
多谢!
编辑:资产被导入为Image Symbol Set
,Xcode 不会抛出任何错误,因为我只是将 SF Symbols 应用程序生成的 svg 直接放在资源上。
编辑2:我刚刚遇到这个post https://forums.developer.apple.com/thread/119331其中指出 SVG 支持很不稳定...我尝试将 SVG 转换为 PNG,但 xcode 不接受 png 作为符号集...所以,我猜这个功能完全被破坏了?这很糟糕...