SwiftUI 全键盘访问

问题描述 投票:0回答:2

我有一个由两部分组成的问题:

  • 我正在实现一些自定义控件并希望确保它们是 在 iOS 中启用“全键盘访问”时可以正确导航 设置。我能够使用键盘成功导航 UI,但是 我想自定义焦点 UI。目前显示为蓝色 整个控件的背景,但我想自定义 当前焦点组件的外观。我正在寻找的效果类似于您可以使用 UIKit 中的
    .accessibilityPath
    属性获得的效果。
  • 我无法在 iOS 模拟器(Xcode 12 和 13)上测试这一点。没有什么 当我在模拟器中打开“完整键盘访问”时发生 设置应用程序。有没有办法在模拟器上而不是在模拟器上测试这个 设备?

最低部署目标 = iOS 13 雨燕5.0 Xcode 12 和 13

ios swift swiftui accessibility ios-simulator
2个回答
1
投票

isFocused 环境值,但仅在 iOS 15 上可用。还有 accessibilityShowButtonShapes 环境值,您需要检查它以突出显示按钮边框。


0
投票

您可以在 UIKit 中使用

didUpdateFocus
等焦点方法(如全键盘访问 WWDC 视频中所述)进行自定义,但您无法在 SwiftUI 中执行此操作。我在 WWDC 辅助功能问答环节中与 Apple 辅助功能工程师确认了这一点:目前 SwiftUI 中没有用于全键盘访问焦点的钩子。

另一方面,用户可以在“设置”>“辅助功能”>“键盘”>“全键盘访问”>“高对比度”中自定义操作系统提供的默认焦点,这将用足够可见的焦点指示器取代淡蓝色调。你无法自定义形状,但如果你主要关心它是否具有足够的对比度,这是由用户决定的

© www.soinside.com 2019 - 2024. All rights reserved.