You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI中SF Symbols的plus/plus.app符号无法渲染问题求助

问题分析与解决方案

嘿,我来帮你排查下SF Symbols不显示的问题~你遇到的plus或plus.app不显示,但plus.circle正常的情况,主要可能是以下几个原因:

1. 符号名称的准确性问题

首先要确认你使用的符号名称是否在SF Symbols官方库中存在:

  • 对于plus:这个符号确实存在,但它是一个非常简洁的小加号,有可能因为颜色和背景融合、尺寸太小导致你误以为没显示。可以尝试给它添加明确的颜色,比如.foregroundColor(.accentColor),来验证是否真的加载了。
  • 对于plus.app:目前SF Symbols的官方库中没有这个名称的符号,你大概率是记错了命名(比如是不是混淆了plus.square这类类似符号?)。建议打开Xcode的SF Symbols库(通过Window > Library,切换到SF Symbols标签),直接搜索你需要的符号样式,复制正确的系统名称来使用。

2. 系统版本兼容性限制

SF Symbols会随iOS/macOS版本更新新增符号,如果你预览使用的模拟器系统版本过低,部分符号会无法加载:

  • plus符号在iOS 13及以上版本就支持了,但如果你的项目部署目标或预览模拟器版本低于iOS 13,就会出现不显示的情况。可以检查项目的Deployment Target设置,或者在预览画布右上角切换到更高版本的模拟器试试。
  • 至于不存在的plus.app,自然无论哪个版本都无法显示。

3. Xcode预览缓存异常

有时候Xcode的预览会出现缓存bug,导致资源无法正常渲染:

  • 先尝试点击预览画布右上角的刷新按钮(圆形箭头),或者用Command + Option + P快捷键强制刷新预览。
  • 如果还是不行,可以关闭Xcode,删除Derived Data(路径在Xcode > Preferences > Locations中可以找到),然后重新打开项目构建预览。

测试用修正代码

你可以先修改代码验证plus符号的显示:

var body: some View {
    NavigationView {
        List(items) { item in
            Text(item.description)
        }
        .navigationBarTitle(Text("Grocery Items"))
        .navigationBarItems(leading: PresentationButton(
            Image(systemName: "plus")
                .imageScale(.large)
                .foregroundColor(.accentColor) // 增加颜色,更容易识别
                .padding(),
            destination: ItemDetailView(item: items[0])
        ))
    }
}

额外小提醒:PresentationButton在iOS 15及以上的SwiftUI版本中已经被弃用了,建议改用.sheet或.fullScreenCover的方式弹出视图,避免后续版本的兼容性问题。

内容的提问来源于stack exchange,提问作者tomEngland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:02:40