列表中 NavigationLink 的选择颜色在模拟器和设备 (SwiftUI) 中不同

Bab*_*ish 5 swiftui swiftui-list swiftui-navigationlink

我有一个列表,其中包含一些 NavigationLinks 作为 OutlineGroup:

\n
List {\n  OutlineGroup(bundle.topics, children: \\.children) { topic in\n    NavigationLink(destination: DetailView(topic: topic)) {\n      Label(topic.name, systemImage: topic.children != nil ? "folder" : "doc")\n    }\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我的问题是 iPad Air 设备和 iPad Air 模拟器上的选择颜色不同。在模拟器上,选定的 NavigationLink 的背景颜色为灰色,并且公开指示器仍然可见。

\n

在此输入图像描述

\n

但在真正的 iPad Air 设备上,选择颜色为蓝色 \xe2\x80\x93 与显示指示器相同的蓝色,并且在选定的行上不可见。

\n

在此输入图像描述

\n

知道为什么颜色不同吗?我可以手动设置选择背景颜色吗?

\n

Hap*_*llo 4

添加一个accentColor(_:)到具有您要使用的颜色的列表中。

\n
List {\n   OutlineGroup(bundle.topics, children: \\.children) { topic in\n      NavigationLink(destination: DetailView(topic: topic)) {\n         Label(topic.name, systemImage: topic.children != nil ? "folder" : "doc")\n      }\n   }\n}\n.accentColor(.gray)\n
Run Code Online (Sandbox Code Playgroud)\n

唯一的问题是accentColor(_:)被弃用。苹果建议使用tint(_:)但它不起作用。另一个选项是更改资产目录\xe2\x80\x99s 强调色。

\n