onTapgesture 禁用 View SwiftUI 的按钮

Posted

技术标签:

【中文标题】onTapgesture 禁用 View SwiftUI 的按钮【英文标题】:onTapgesture disabling buttons of View SwiftUI 【发布时间】:2022-01-23 23:17:54 【问题描述】:

我有一个带有两个按钮的视图,我添加了.onTapGesture 来切换视图。 但是在我添加.onTapGesture 之后,按钮在它下面并且没有响应。 有什么方法可以同时使用吗

MenuView()

.onTapGesture
self.isShowing.toggle()

【问题讨论】:

欢迎来到 Stack Overflow!请使用tour 并查看:How do I ask a good question? 和How to create a Minimal, Reproducible Example。 【参考方案1】:

您正在寻找的是同时的手势:

import SwiftUI

struct TestView: View 
  
  var body: some View 
    
    let tapGesture = TapGesture()
      .onEnded  _ in
        print("Menu tapped")
      
    
    menuView
      .simultaneousGesture(tapGesture)
  
  
  var menuView: some View 
    VStack 
      Button 
        print("Item 1 hit")
       label: 
        Text("Item 1")
      
      
      Button 
        print("Item 2 hit")
       label: 
        Text("Item 2")
      
    
  


struct TestView_Previews: PreviewProvider 
  
  static var previews: some View 
    Group 
      TestView()
    
  


【讨论】:

以上是关于onTapgesture 禁用 View SwiftUI 的按钮的主要内容,如果未能解决你的问题,请参考以下文章

swif解决手势冲突

选择器干扰 onTapGesture

ONTapGesture 不工作?

onTapGesture 和 onLongPressGesture 没有响应

SwiftUI:将链接与 onTapGesture 一起使用

SwiftUI .onTapGesture 从未调用过