在SwiftUI中是否有禁用按钮的可能性?

7
有没有可能在SwiftUI中禁用按钮?我找不到任何东西?
我想使用Alamofire进行下载,然后在成功下载后激活按钮。
1个回答

15
你可以使用.disabled修饰符。根据文档:

添加一个条件来控制用户是否可以与此视图交互。

import SwiftUI

struct ContentView: View {
    @State private var buttonDisabled = true

    var body: some View {
        Button(action: {
            //your action here
        }) {
            Text("CLICK ME!")
        }
        .disabled(buttonDisabled)
    }
}

#if DEBUG
struct ContentView_Previews: PreviewProvider {
  static var previews: some View {
    ContentView()
  }
}
#endif

当您的下载完成时,您可以将buttonDisabled状态变量设置为false。


但是disabled()函数也会改变按钮标签的外观。 - Joel
@JonathanK 然后使用 allowsHitTesting 修饰符。它不会修改视图的外观。 - Peter Schorn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接