我有一个用例,我想在单击 SwiftUI 按钮后为 VoiceOver 提供不同的文本。
初始值不同,可以使用 accessibilityLabel 或 accessibilityValue 设置,例如“点击此处增加计数”
Button {
// button action
} label: {
Text("Increment")
}
.accessibilityValue("Tap here to increment the count")
但是我如何通过按钮操作设置新值,画外音应该是呼叫计数,例如“数到10”
有人可以建议我应该在这里使用哪个属性吗
注意* 单击按钮后,我只需要操作文本语音输出,并且应该没有初始文本
要在单击
VoiceOver
按钮后更改 SwiftUI
文本,您可以使用状态变量来动态更新按钮的 accessibilityLabel
。
点击按钮时,您可以更新此状态变量,这反过来又会更新
VoiceOver
读取的辅助功能文本。
这是一个演示这一点的基本示例:
import SwiftUI
struct ContentView: View {
@State private var count = 0
@State private var voiceOverText = "Tap here to increment the count"
var body: some View {
Button(action: {
count += 1
voiceOverText = "Count is \(count)"
}) {
Text("Increment")
}
.accessibilityLabel(Text(voiceOverText))
}
}