如何在 SwiftUI NavigationLink 中删除不透明动画
How to remove opacity animation in SwiftUI NavigationLink
点击 NavigationLink 时,它会稍微降低不透明度。有没有办法禁用它。我尝试使用 .buttonStyle(PlainButtonStyle())
但没有达到预期的效果。
它嵌入在滚动视图中(在可定制性方面优于列表):
ScrollView {
ForEach(items){ item in
NavigationLink(destination: DetailView()){
HStack{
Text("title")
Spacer()
Image(systemName: "chevron.right")
}
.padding()
.background(
RoundedRectangle(cornerRadius: 10, style: continuous)
.foregroundColor(Color.gray)
)
}
}
}
这是可能的解决方案。使用 Xcode 11.4 / iOS 13.4
测试
使用只是returns标签视图的自定义按钮样式(w/o高亮效果)
struct FlatLinkStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.label
}
}
和
NavigationLink(destination: DetailView()){
HStack{
Text("title")
Spacer()
Image(systemName: "chevron.right")
}
.padding()
}.buttonStyle(FlatLinkStyle()) // << here !!
点击 NavigationLink 时,它会稍微降低不透明度。有没有办法禁用它。我尝试使用 .buttonStyle(PlainButtonStyle())
但没有达到预期的效果。
它嵌入在滚动视图中(在可定制性方面优于列表):
ScrollView {
ForEach(items){ item in
NavigationLink(destination: DetailView()){
HStack{
Text("title")
Spacer()
Image(systemName: "chevron.right")
}
.padding()
.background(
RoundedRectangle(cornerRadius: 10, style: continuous)
.foregroundColor(Color.gray)
)
}
}
}
这是可能的解决方案。使用 Xcode 11.4 / iOS 13.4
测试使用只是returns标签视图的自定义按钮样式(w/o高亮效果)
struct FlatLinkStyle: ButtonStyle {
func makeBody(configuration: Configuration) -> some View {
configuration.label
}
}
和
NavigationLink(destination: DetailView()){
HStack{
Text("title")
Spacer()
Image(systemName: "chevron.right")
}
.padding()
}.buttonStyle(FlatLinkStyle()) // << here !!