为啥列表中带有导航链接的项目变成蓝色?
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 列表中的选定项目
SwiftUI 如何创建一个将项目添加到包含导航链接的列表的按钮
桌面的图标和字选中后不是蓝色变成了浅绿色怎么回事?高手速度!!