Osc*_*nco 4 macos swift swiftui
仔细阅读问题,这是一个 MAC 应用程序,系统名称在 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()
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了很多变体,例如:
Image(nsImage: NSImage(name: "Plus"))
Run Code Online (Sandbox Code Playgroud)
但是那里的所有信息,包括苹果自己的文档,都只谈论 UIImage,据我所知,它是 UIKit 的一部分,它是 UI 框架的 iOS 版本,有人让它在 macOS 上工作吗?
非常感谢!
编辑:资产作为Image Symbol Set.
编辑 2:我刚刚遇到了这篇文章,它指出 SVG 支持是不稳定的……我尝试将 SVG 转换为 PNG,但 xcode 不接受 png 作为符号集……所以,我想这个功能只是简单地损坏了?这很糟糕……
在 MacOS 中,没有可用的 systemImages。但NSImage.Name提供了另一种选择。此链接显示了大多数 MacOS 系统默认图标。
这是一个例子NSImage.Name:
Icon(NSImage.refreshTemplateName)
Run Code Online (Sandbox Code Playgroud)
以下是Icon视图定义:
struct Icon: View {
var image: NSImage.Name
var body: some View {
Image(nsImage: NSImage(named: image)!)
.renderingMode(.original)
.resizable()
.scaledToFit()
}
init(_ image: NSImage.Name){
self.image = image
}
}
Run Code Online (Sandbox Code Playgroud)
PSImage视图没有名为.font(). 请检查其文档以获取正确的语法。
编辑:您可以按照以下格式跳过额外的视图。
Image(nsImage: NSImage(name: NSImage.addTemplateName))
Run Code Online (Sandbox Code Playgroud)
NSImage.Names 的列表在这里
| 归档时间: |
|
| 查看次数: |
4607 次 |
| 最近记录: |