如何防止在swiftUI中同时点击两个按钮?
在swift或objective-c中,我可以将exclusiveTouch属性设置为true或YES,但在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
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")
}
}
}
}
单击其中一个按钮后,是否能够启用这些按钮?添加计时器?是的。点击启用按钮将使其禁用,同时启用另一个按钮。关于计时器,这不是初始问题的一部分。两者都需要启用。和防止多点触控。提供的示例旨在说明如何在另一个应处于禁用状态时启用其中一个。问题自回答后已更改。