【问题标题】:How do you disable a navigationBaritems in swiftUI你如何在swiftUI中禁用navigationBaritems
【发布时间】:2021-01-30 16:53:35
【问题描述】:

我有一个 .navigationBarItems 按钮,我想根据我的应用程序在做什么来启用/禁用它,但我终其一生都无法弄清楚到底该怎么做?!

我的视图正在通过 NavigationView 拉入我的主应用程序视图,因此我知道栏项目正在正确显示等等。根据我的观点,在导航到它时会被拉入,我在堆栈底部有这段代码:

.navigationBarItems(
                    trailing:
                        Button("End Day") {
                            //do something here
                            scheduleEndDayNotificatons()
                        }
                    )

我希望能够切换尾随的“结束日”按钮以启用/禁用,可能基于一些 Bool 状态变量?例如,当用户进入应用程序的某个模式时,它被启用,当他们退出该模式时,它被禁用。我的应用程序是一个锻炼应用程序,所以当他们锻炼时我希望它被启用,而当他们完成锻炼时它被禁用(这是默认设置)。

任何帮助将不胜感激!谢谢!!

【问题讨论】:

    标签: ios swiftui swiftui-navigationview


    【解决方案1】:

    我们可以使用修饰符 .disabled 应用于 Button 并将其与一些状态变量链接,例如

    @State private var isDisabled = false
    
    // ... other code
    
    .navigationBarItems(
        trailing:
            Button("End Day") {
                //do something here
                scheduleEndDayNotificatons()
            }
            .disabled(isDisabled)
        )
    

    【讨论】:

      猜你喜欢
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多