SwiftUI,按下时如何更改视图(不使用按钮)颜色?

Posted

技术标签:

【中文标题】SwiftUI,按下时如何更改视图(不使用按钮)颜色?【英文标题】:SwiftUI, how to change View (don't use button) color when pressing? 【发布时间】:2021-05-31 14:24:38 【问题描述】:

正如标题,这是一个典型的用例。如果使用 SwiftUI buttonStyle,这很容易实现。 但由于某种原因,我不能使用Button。那么,View怎么办呢?

【问题讨论】:

【参考方案1】:

您可以在视图中使用onTapGesture 修饰符

struct ContentView: View 
    @State var color = Color.green

    var body: some View 
        Text("Hello")
            .padding()
            .background(color)
            .onTapGesture 
                color = Color.blue
            
    

【讨论】:

嗨,我正在使用highPriorityGesture。它与其他手势修饰符有冲突。 @iaomw 你能加个minimal reproducible example吗?

以上是关于SwiftUI,按下时如何更改视图(不使用按钮)颜色?的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 确认按钮 - 在任何其他视图交互时重置状态

SwiftUI 列表中的自定义按钮

按下按钮时如何更改颜色视图? (迅速)

在按下时查看:按下时更改背景颜色?如何显示正在按下视图?

使用 TouchableHighlight 在 React Native 中按下时如何更改按钮颜色?

按下时更改操作栏按钮的背景颜色