是否有可能停用 SwiftUI 中的按钮?

Posted

技术标签:

【中文标题】是否有可能停用 SwiftUI 中的按钮?【英文标题】:Is there a possibility to deactivate a button in SwiftUI? 【发布时间】:2019-09-16 20:06:51 【问题描述】:

是否可以在 SwiftUI 中停用按钮?什么都找不到?

我想使用 Alamofire 进行下载,然后在成功下载后激活按钮。

【问题讨论】:

【参考方案1】:

您可以使用.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() 也会改变按钮标签的外观.. @JonathanK 然后使用allowsHitTesting 修饰符。它不会修改视图的外观。

以上是关于是否有可能停用 SwiftUI 中的按钮?的主要内容,如果未能解决你的问题,请参考以下文章

ForEach 完成时执行代码 - swiftUI

文本视图的 lineBreakMode 是不是有 SwiftUI 等效项?

FullScreenCover 不关闭 - SwiftUI

如何在 SwiftUI 中激活/停用菜单项

具有多个编辑按钮的 SwiftUI 表单

SwiftUI:列表中的中心按钮文本