【发布时间】:2021-12-09 07:06:06
【问题描述】:
给定以下代码:
struct CopyButtonStyle: ButtonStyle {
init() {}
func makeBody(configuration: Configuration) -> some View {
let copyIconSize: CGFloat = 24
return Image(systemName: "doc.on.doc")
.renderingMode(.template)
.resizable()
.frame(width: copyIconSize, height: copyIconSize)
.accessibilityIdentifier("copy_button")
.opacity(configuration.isPressed ? 0.5 : 1)
}
}
我收到以下错误:
'accessibilityIdentifier' 仅在 iOS 14.0 或更新版本中可用 在 iOS 14 上
查看accessibilityIdentifier 声明时,我发现:
public func accessibilityIdentifier(_ identifier: String) -> ModifiedContent<Self, AccessibilityAttachmentModifier>
Xcode 建议包含整个按钮样式结构或至少 makeBody 函数以使其在 iOS 14+ 上可用。
有没有办法创建附加功能,例如:
func addAccessibilityIdentifierIfAvailable(entryParam ??) -> some View
如果accessibilityIdentifier 不可用或类似的,将返回相同的视图,如果可以在该操作系统版本上设置,则返回具有设置标识符的视图。
【问题讨论】:
-
这是否回答了您的问题stackoverflow.com/a/63077687/12299030?
-
是的,我发布了我的解决方案作为答案。谢谢指出!