无法使用 SwiftUI 创建系统映像

Posted

技术标签:

【中文标题】无法使用 SwiftUI 创建系统映像【英文标题】:Unable to create system image with SwiftUI 【发布时间】:2019-06-08 12:25:15 【问题描述】:

我想用 Swift UI 显示系统图像。

import SwiftUI

struct SwiftUIView : View 
    var body: some View 
        Image(systemName: "star.fill")
    


#if DEBUG
struct SwiftUIView_Previews : PreviewProvider 
    static var previews: some View 
        SwiftUIView()
    

#endif

但我在预览区域中看不到任何图像。为什么?

【问题讨论】:

这对我有用。您确定预览确实有效(对于任何事情)?您可以尝试添加一个 .foregroundColor(.red) 来看看它是否有所作为 是的,预览工作正常。我已经添加了foregroundColor,但它仍然不起作用。 我注意到如果我设置了 .font(.title) 然后图像就会出现!很奇怪。 没有它对我来说工作正常。您可以编辑您的问题以包含整个代码吗? 我有你的确切代码,它工作正常。我还可以通过使用 .foregroundColor、.font 等实时预览来调整它。我会尝试重新启动 xcode 并查看。它测试版,所以谁知道... 【参考方案1】:

我对某些 Image(systemNamed:) SF Symbol 有类似的问题。

将预览设备更改为“iPhone XR”即可解决此问题。我认为这是一个错误。

您可以如下更改预览设备:

#if DEBUG
struct SwiftUIView_Previews : PreviewProvider 
    static var previews: some View 
        SwiftUIView()
          .previewDevice(PreviewDevice(rawValue: "iPhone XR"))
    

#endif

【讨论】:

以上是关于无法使用 SwiftUI 创建系统映像的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 influxdb docker 映像中的“Influx”命令访问或创建数据库

Cloud Function 构建错误 - 无法从配置文件获取映像的操作系统

如何使用 NSRefreshTemplate 图像创建 macOS SwiftUI 按钮?

警告!从ISO映像创建的U盘可能无法完全启动!Unknown引导扇区不支持NTFS文件系统

用于 php 的 docker 映像无法在 Windows 10 的浏览器上运行

找不到名为“airport.express”的系统映像