gpt4 book ai didi

xcode - 删除按钮突出显示 SwiftUI

转载 作者:行者123 更新时间:2023-12-04 12:37:17 34 4
gpt4 key购买 nike

无论如何,我们可以删除 SwiftUI 中的默认按钮高亮显示吗?
我目前有一个用作导航链接的 View ,但是当我点击它时,我希望它没有默认的突出显示(淡出)。
主 View 如下所示:

NavigationLink( ... ) {
VStack{
{ ... }
Button(action: ... ){ ... }
}
}
.buttonStyle(PlainButtonStyle())

它摆脱了蓝色前景色文本颜色,但没有删除默认突出显示。
我想这样做,因为该 View 中有另一个按钮可以执行单独的操作,但是当我单击该按钮时,它会突出显示整个 View (但不会触发主 View 导航链接!!它只会触发内部按钮 Action )
我目前正在使用 swiftui 2.0
编辑:
我找不到删除该按钮突出显示的方法,但我找到了一种不同的方法。相反,我只是使用 NavigationLink 的 isActive 版本以编程方式导航。所以它会是:
@State private var showOneLevelIn = false

//this navigationLink is hidden
NavigationLink(destination: OneLevelInView(), isActive: $showOneLevelIn, label: { EmptyView() })

//original view without navigationlink wrapped around
VStack{
{ ... }
Button(action: ... ){ ... }
}
.onTapGesture(count: 1) {
showOneLevelIn = true
}
来自: Use NavigationLink programmatically in SwiftUI

最佳答案

List 检测任何 subview 级别的任何默认按钮。因此,尝试不仅为链接更改按钮样式,还为按钮更改按钮样式

NavigationLink( ... ) {
VStack{
{ ... }
Button(action: ... ){ ... }
.buttonStyle(PlainButtonStyle()) // << here !!

}
}
.buttonStyle(PlainButtonStyle())

关于xcode - 删除按钮突出显示 SwiftUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63148204/

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