首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftUI ActionSheet disabled按钮

SwiftUI ActionSheet disabled按钮
EN

Stack Overflow用户
提问于 2021-05-30 10:04:37
回答 1查看 114关注 0票数 2

这看起来可能是一个简单的问题,但我正在寻找一种方法来禁用SwiftUI中ActionSheet中的一个(或多个)按钮。例如,如果根据应用程序的状态,某些内容是非法的,我不想让用户单击按钮-实际上,我可能会更改文本来解释为什么它被禁用。

Xcode的自动完成功能并没有给我带来任何帮助,文档(herehere)也没有给我任何帮助。我的最佳/唯一选择就是不把按钮放在ActionSheet的按钮列表中吗?(在某种程度上让用户推断为什么它不在那里...)

非常感谢你的建议!

我的简单代码:

代码语言:javascript
复制
  private func getActionSheet() -> ActionSheet {

    let buttons: [ActionSheet.Button] = [
      .default(Text("This is fine...")) { foo() },
      .default(Text("This is forbidden - disable me!")) { foo() },
      .cancel()
    ]

    return ActionSheet(title: Text("Do it!"), buttons: buttons)
  }
EN

回答 1

Stack Overflow用户

发布于 2021-05-30 22:30:20

对于非破坏性操作,您可以简单地显示一个菜单。它们支持.disabled(true)修饰符。

代码语言:javascript
复制
 var body: some View {
    Menu("Do it!") {
        Button("This button works fine", action: { })
        
        Button("This one is disabled", action: { })
            .disabled(true)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67757068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档