如何防止在swiftUI中同时点击两个按钮?

如何防止在swiftUI中同时点击两个按钮?,swiftui,Swiftui,在swift或objective-c中,我可以将exclusiveTouch属性设置为true或YES,但在swiftUI中如何执行此操作?可以按如下方式处理: struct ContentView:View{ @状态私有变量isEnabled=false var body:一些观点{ VStack(间距:50){ 按钮(操作:{ self.isEnabled.toggle() }) { 文本(“按钮1”) } .填充(20) .已禁用(已禁用) 按钮(操作:{ self.isEnabled.t

在swift或objective-c中,我可以将exclusiveTouch属性设置为true或YES,但在swiftUI中如何执行此操作?

可以按如下方式处理:

struct ContentView:View{
@状态私有变量isEnabled=false
var body:一些观点{
VStack(间距:50){
按钮(操作:{
self.isEnabled.toggle()
}) {
文本(“按钮1”)
}
.填充(20)
.已禁用(已禁用)
按钮(操作:{
self.isEnabled.toggle()
}) {
文本(“按钮2”)
}
.填充(50)
.disabled(!isEnabled)
}
}
}

Xcode 11.3

在结构
init()
中设置
exclusiveTouch
isMultipleTouchEnabled
属性,或将其放入整个应用程序的
AppDelegate.swift

struct ContentView: View {

init() {

        UIButton.appearance().isMultipleTouchEnabled = false
        UIButton.appearance().isExclusiveTouch = true

        UIView.appearance().isMultipleTouchEnabled = false
        UIView.appearance().isExclusiveTouch = true

        //OR

        for subView in UIView.appearance().subviews {

            subView.isMultipleTouchEnabled = false
            subView.isExclusiveTouch = true

            UIButton.appearance().isMultipleTouchEnabled = false
            UIButton.appearance().isExclusiveTouch = true
        }
    }

var body: some View {

VStack {
     Button(action: {
                print("BTN1")
            }){
                Text("First")
            }

     Button(action: {
                print("BTN2")
            }){
                Text("Second")
            }
   }  
 }
}

单击其中一个按钮后,是否能够启用这些按钮?添加计时器?是的。点击启用按钮将使其禁用,同时启用另一个按钮。关于计时器,这不是初始问题的一部分。两者都需要启用。和防止多点触控。提供的示例旨在说明如何在另一个应处于禁用状态时启用其中一个。问题自回答后已更改。