在 NavigationView 的 SwiftUI 列表中设置雪佛龙的颜色

mic*_*ica 6 swiftui swiftui-navigationlink

我有一个 NavigationView 列表。
在黑暗模式下,雪佛龙(红色圆圈)几乎不可见。

在此处输入图片说明 如何在列表中设置雪佛龙的颜色。

struct ContentView: View {
    var body: some View {
      NavigationView{
        List {
          Line(text: "Line 1")
          Line(text: "Line 2")
          Line(text: "Line 3",selected: true)
          Line(text: "Line 4")
          Line(text: "Line 5")
        }
      }
    }
}

struct Line: View {
  var text :String
  var selected = false
  @Environment(\.colorScheme) var colorScheme

  var body: some View {
    NavigationLink(destination: Text("D")) { Text(text)}
      .listRowBackground(selected ? Color.blue : Color(.systemBackground))
      .foregroundColor(selected ? Color.white : Color(.label))
    .onTapGesture(perform: {print ("tap")
    } )
  }
}
Run Code Online (Sandbox Code Playgroud)

Asp*_*eri 8

标准 V 形符号不是光栅图像的符号,这里是

演示1

这就是为什么它不会对任何颜色变化修饰符做出反应。

解决办法,禁用标准的雪佛龙并使用自己的,自定义的,(列表的行为是相同的),如下所示

HStack {
    Text(text)
    NavigationLink(destination: Text("D")) { EmptyView() } // disabled  !
    Image(systemName: "chevron.right")                     // << custom !!
        .foregroundColor(Color.red)                        // any color !!!
}
Run Code Online (Sandbox Code Playgroud)

演示2

  • 请不要破坏您的帖子。通过在 Stack Exchange 网络上发帖,您已授予 SE 分发该内容的不可撤销的权利(根据 [CC BY-SA 4.0 许可证](https://creativecommons.org/licenses/by-sa/4.0 /))。根据SE政策,任何破坏行为都将被恢复。 (3认同)
  • 无论如何,您似乎误解了“连续投票逆转”指示器。这意味着之前有人系统地对您的许多答案进行了投票,当系统检测到这一点时,这些投票就被删除了。请随意搜索 [meta] 以获得更全面的讨论。 (3认同)