gpt4 book ai didi

ios - 如何更改表单内的 NavigationLink 箭头颜色

转载 作者:行者123 更新时间:2023-12-03 21:14:11 28 4
gpt4 key购买 nike

在 SwiftUI 中,当将 NavigationLink 放置在 Form 内部时,NavigationLink 的尾部会自动出现一个箭头。如何改变这个箭头的颜色?

struct example: View {
var body: some View {
NavigationView {
Form {
NavigationLink(destination: Text("Example destination")) {
Text("Example link")
}
}
}
}
}

最佳答案

Form/List 正在重用 UITableView,并且更改披露指示器 tintColor 一直是个问题 < sup>*参见:Question
因此,.accentColor 在这里也不起作用也就不足为奇了。

建议主要是将其替换为自定义 View 。
因此,让我们在 SwiftUI 中执行相同的操作。

解决方案:

struct ContentView: View {
var body: some View {
NavigationView {
Form {
//Overlap NavigationLink and our Custom Cell arrangement
ZStack {
//Create a NavigationLink without the disclosure indicator
NavigationLink(destination: Text("Hello, World!")) {
EmptyView()
}

//Replicate the default cell
HStack {
Text("Custom UI")
Spacer()
Image(systemName: "chevron.right")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 7)
.foregroundColor(.red) //Apply color for arrow only
}
.foregroundColor(.purple) //Optional: Apply color on all inner elements
}

//Default style
NavigationLink(destination: Text("Hello, World!")) {
Text("Default UI")
}
}
}
}
}
  • NavigationLinkEmptyView 消除了默认的公开指示器
  • HStack 是我们的自定义单元View,它复制默认的单元排列
    • Image(systemName: "chevron.right") 是我们对披露指示符的替代品
    • .foregroundColor 将允许我们在整个 HStack 或仅 Image(您的选择)上泼洒颜色
  • ZStack 允许重叠上述两者。
    • NavigationLink 基本上使整个单元格可点击

结果:

Result

关于ios - 如何更改表单内的 NavigationLink 箭头颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61444856/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com