TVOS 17 - 警报中的文本字段添加按钮

问题描述 投票:0回答:1
在 SwiftUI 中向警报添加文本字段时(如下所示),行为从 TVOS 16 更改为 TVOS 17。在运行 TVOS 17 的模拟器中,当出现警报时,它会显示一个附加按钮,该按钮标有文本字段内的文本。因此,下面的警报将有两个按钮。一个按钮将被标记为“确定”并运行 addFunction,另一个按钮将在出现警报时标记为 $url 中的任何内容,但不执行任何操作。

Button { showAlert = true } label: { Image(systemName: "plus") } .alert("Add", isPresented: $showAlert) { Button("OK", action: addFunction) TextField("Enter URL", text: $url) .keyboardType(.URL) }
我希望这会显示一个警报,其中一个按钮标有“确定”。删除 TextField 会删除按钮,但这并不理想,并且似乎没有用于关闭按钮的设置。还有人在 iOS 17 中看到这个吗?

swift button swiftui textfield tvos
1个回答
0
投票
我们可以通过不在警报中的文本字段中添加占位符来正确实现按钮和文本字段。如果我们向 textField 添加占位符,SwiftUI 会出现一些错误。

以下是如何实现textField和按钮:

.alert("Alert Title!", isPresented: $showingAlert) { TextField(text: $name) {} Button("Submit") { print("Submit") } Button("Skip") { print("Skip") } } message: { Text("Enter channel name") }
    
© www.soinside.com 2019 - 2024. All rights reserved.