首页 > 解决方案 > SwiftUI - SF 符号不渲染

问题描述

我试图通过代码中的 SF 符号显示“加号”或“加号.app”符号,但右侧的预览没有显示任何内容。

其他符号确实像“plus.circle”一样工作,是否有其他符号不起作用的原因?

这是我的看法。

var body: some View {
    NavigationView {
        List(items) { item in
            Text(item.description)
        }
        .navigationBarTitle(Text("Grocery Items"))
        .navigationBarItems(leading:
            PresentationButton(
                Image(systemName: "plus")
                    .imageScale(.large)
                    .padding(),
                destination: ItemDetailView(item: items[0])
            )
        )
    }
}

我希望输出显示“plus.app”或“plus”符号,但是当我使用这些符号时它什么也不显示。

标签: iosswiftswiftuisf-symbols

解决方案


我在使用默认预览设备以及 iPhone XS 模拟器时遇到了同样的问题。

将预览设备更改为“iPhone XR”为我解决了这个问题。这可能是一个错误,将在下一个版本中修复。

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

#if DEBUG
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
          .previewDevice(PreviewDevice(rawValue: "iPhone XR"))
    }
}
#endif

更新:

我对Xcode 11 beta 3进行了同样的尝试,看来这个问题已经解决了。


推荐阅读