【发布时间】:2020-04-01 13:00:42
【问题描述】:
出于某种原因,以下代码显示了一个带有 三个 相同按钮实例的警报,但没有一个按预期触发操作(例如,只是一个简单的控制台输出):
有其他人经历过吗?有什么修复建议吗?
它基于 Xcode 11.2.1 构建,用于 iOS 13.0 目标,然后通过 Catalyst 在 macOS (10.15.1) 上运行。
更新 1:这似乎是 Catalyst 特有的问题。当在 iPhone 模拟器上运行相同的代码时,它会显示一个按钮并按预期执行操作。
更新 2:更新到 Xcode 11.3.1 和 macOS 10.15.3 也没有解决这个问题。
public struct ContactUsView: View {
@ObservedObject private var contactUsVM: ContactUsViewModel
private var successAlert: Alert {
Alert(
title: Text("Email Sent"),
message: Text("Thanks for taking the time to reach out to us. We appreciate it!"),
dismissButton: .default(Text("OK")) {
self.dismissSelf()
}
)
}
public var body: some View {
Form {
// ...
}
.alert(isPresented: self.$contactUsVM.contactAttemptSucceeded) {
self.successAlert
}
}
public init() {
self.contactUsVM = ContactUsViewModel()
}
private func dismissSelf() {
print("Dismissing!")
}
}
class ContactUsViewModel: ObservableObject {
@Published var contactAttemptSucceeded: Bool = true
}
【问题讨论】:
-
你解决了吗?
-
还没有,很遗憾。
-
对我来说同样的问题...:(
-
Xcode 11.4.1 和 MacOS 10.15.3 对我来说类似的问题,除了我的 Alert 有三组主要和次要按钮。这只是在 Mac 上,在 iOS 上看起来不错。
-
我也有同样的问题。
标签: ios macos alert swiftui mac-catalyst