在iOS 15中测试新的iOS方法(文档)时,我刚刚发现了警报存在的奇怪行为。
描述
这是密码:
import SwiftUI
struct ContentView: View {
@State var show = false
var body: some View {
VStack {
Button(action: {
show = true
}) {
Text("Alert")
}
}
.alert("alert", isPresented: $show) {
Button(action: {}) {
Text("button1")
}
Button("button2", role: .destructive, action: {})
}
}
}正如您所看到的,我只添加了2个按钮,但是SwiftUI只是在按钮的末尾添加了Cancel按钮。

但是,当任何按钮都没有角色时,就不会发生这种情况。
import SwiftUI
struct ContentView: View {
@State var show = false
var body: some View {
VStack {
Button(action: {
show = true
}) {
Text("Alert")
}
}
.alert("alert", isPresented: $show) {
Button(action: {}) {
Text("button1")
}
Button(action: {}) {
Text("button1")
}
}
}
}
真的很奇怪。我甚至不知道它是由苹果公司设计的,或者仅仅是一个bug。
问题
因此,我的问题是,在添加了一个带有角色的按钮之后,如何删除该取消按钮。有什么办法可以这样做吗?或者我必须接受它。
如有任何建议,将不胜感激。
https://stackoverflow.com/questions/73616346
复制相似问题