SwiftUI 敬酒不解雇

SwiftUI toasts not Dismissing

我正在使用以下方法来显示吐司消息

DispatchQueue.main.async {
Toastmessage = MyToasts(title: "Message Here" , type: .success)
mysettings.showMytoast = true // mysettings is an Environment variable
}

我之所以这样添加是因为 toast 是操作(从列表中删除项目)的结果,并且根据响应更新视图有延迟。

现在的问题是,在我终止应用程序之前,toast 不会被取消。 有什么解决办法吗?

我想你应该过一会儿再显示 showMyToast = false。

您可以这样做:

DispatchQueue.main.async {
    Toastmessage = MyToasts(title: "Message Here" , type: .success)
    mysettings.showMytoast = true // mysettings is an Environment variable
    
    let closeAfterSecond = 1
    DispatchQueue.main.asyncAfter(deadline: .now() + closeAfterSecond) {
        mysettings.showMytoast = false
    }
}