9

UIKit 包含 UIAccessibility 函数,用于确定是否打开了 Voice Over、Closed Captioning、Guided Access 和 Invert Colors。但是,我还没有找到一种方法来确定用户是否打开了缩放功能(设置>常规>辅助功能>缩放)。有谁知道获取此信息的方法?

4

2 回答 2

-1

目前,无法检测缩放辅助功能选项是否打开。此信息可能会泄露用户设备的一些数据,这些数据可能对他们很敏感,因此 Apple 不会提供这些数据。您可以围绕 Zoom 选项实现功能,例如在必要时将 Zoom 焦点移动到特定控件,如果 Zoom 未激活,则这将不起作用,因此您不必担心 Zoom 是否激活。Accessibility API 提供了许多其他功能,您可以在此处查看

于 2021-11-24T15:34:25.120 回答
-1

请尝试UIAccessibility.ZoomType一下Enum

UIAccessibility.ZoomType Apple ISO Swift 参考。

可能需要结合使用它[UIAccessibilityContainer][1]static func zoomFocusChanged(zoomType: UIAccessibility.ZoomType, toFrame: CGRect, in: UIView)

我怎么知道这一点,似乎 this 上的代码转储在UIkitfor中显示了以下定义UIAccessibility.ZoomType

typealias UIAccessibilityZoomType = UIAccessibility.ZoomType
extension UIAccessibility {
  @available(iOS 5.0, *)
  enum ZoomType : Int {
    init?(rawValue: Int)
    var rawValue: Int { get }
    typealias RawValue = Int
    case insertionPoint
    @available(swift, obsoleted: 3, renamed: "insertionPoint")
    static var InsertionPoint: UIAccessibility.ZoomType { get }
  }

万一你很好奇,一些奖金希望能帮助你如何做到这一点..但这不在你的问题范围内..

swift-ide-test -print-module -module-to-print=UIKit.UIApplication……

于 2021-11-28T08:17:40.680 回答