SwiftUI 具有方便的.accessiblityAction()
ViewModider,它可以将辅助功能操作添加到您正在创建的视图中。键盘用户和 VO 用户可以了解附加到视图的操作并触发它们。
我希望能够根据布尔值有条件地应用操作。如下所示:
Button {
print("Button tapped")
} label: {
Text("Button title")
}
if addActionToButton.wrappedValue {
.accessibilityAction(named: "Button action") {
print("Button action triggered")
}
}
但是您不能将 ViewModifier 放在语句accessibilityAction
内部if
。
.accessibilityLabel
有一个接受isEnabled
参数的变体。当 isEnabled 条件为 false 时,它不应用可访问性标签:
@State addA11Label: Bool
Button {
print("Button tapped")
} label: {
Text("Button title")
}
.accessibilityLabel("Button foo. Double-tap to do stuff.", isEnabled: addA11Label.wrappedValue)
我想要一个accessibilityAction
isEnabled
参数,但没有那么幸运。
我如何有条件地将添加accessibilityAction
到我的Button
(或其他视图)中?