为啥列表中带有导航链接的项目变成蓝色?

Posted

技术标签:

【中文标题】为啥列表中带有导航链接的项目变成蓝色?【英文标题】:Why does item with navigation link in list become blue?为什么列表中带有导航链接的项目变成蓝色? 【发布时间】:2019-11-02 21:45:36 【问题描述】:

我在导航链接的列表(行)中嵌入了我的项目

我的物品变成了蓝色click

这是我的代码:

ToysRow.swift

struct ToyRow: View 
    var category: String
    var toys:[Toy]

    var body: some View 

        Group 
            VStack

                VStack(alignment: .leading)
                    Text(category).padding().font(.largeTitle)
                    ScrollView(.horizontal, showsIndicators: false)
                        HStack(alignment: .top)
                            ForEach(self.toys)
                                toy1 in
                                NavigationLink(destination: ToyDetail(toy: toy1)) 
                                    ToyItem(toy: toy1)
                                .padding()

                            
                        
                    

                
            
        

    

所以创建 NavigationView 没有帮助 – 它变成灰色

【问题讨论】:

【参考方案1】:

因为默认accentColor('aka'tintColor

带代码:

将此修饰符添加到您的Image

.renderingMode(.original)

无代码:

    从项目导航器转到Assets.xcassets,然后在此处选择您的图像。 在右侧面板中,属性检查器渲染为选择Original Image

记住您应该始终对您不想在其上应用任何颜色的所有图像执行此操作。

对于文本和图标:

使用.accentColor()修饰符

【讨论】:

我应该如何处理文本?只需手动更改颜色? 使用.accentColor(),正如我在答案开头提到的那样。我再次添加到答案的末尾;)【参考方案2】:

文本使用

 .foregroundColor( Color(UIColor.label))

【讨论】:

以上是关于为啥列表中带有导航链接的项目变成蓝色?的主要内容,如果未能解决你的问题,请参考以下文章

在不使用导航链接的情况下获取 SwiftUI 列表中的选定项目

从DblClick上的列表框导航到所选项目(excel)

SwiftUI 如何创建一个将项目添加到包含导航链接的列表的按钮

桌面的图标和字选中后不是蓝色变成了浅绿色怎么回事?高手速度!!

每个项目中带有 Switch 和 TextView 的自定义 ListView

C语言输入int为啥不变蓝?还有 for,if都不变成蓝色了是怎么回事?