我有一个 .navigationBarItems 按钮,我想根据我的应用程序正在执行的操作启用/禁用该按钮,但我一生都无法弄清楚如何做到这一点?!
我的视图正在通过 NavigationView 被拉入我的主应用程序视图,所以我知道栏项目正在正确显示等等。在我看来,导航到它时会被拉进来,我在堆栈底部有这个代码:
.navigationBarItems(
trailing:
Button("End Day") {
//do something here
scheduleEndDayNotificatons()
}
)
我希望能够切换尾随的“End Day”按钮以启用/禁用,可能是基于一些 Bool 状态变量?例如,当用户进入应用程序的某个模式时,它被启用,当他们退出该模式时,它被禁用。我的应用程序是一个锻炼应用程序,所以当他们锻炼时我希望它被启用,当他们完成锻炼时它被禁用(这是默认设置)。
任何帮助将不胜感激!谢谢!!
答案 0 :(得分:0)
我们可以使用修饰符 .disabled
应用于 Button 并将其与一些状态变量链接,例如
@State private var isDisabled = false
// ... other code
.navigationBarItems(
trailing:
Button("End Day") {
//do something here
scheduleEndDayNotificatons()
}
.disabled(isDisabled)
)