UIKit 包含 UIAccessibility 函数,用于确定是否打开了 Voice Over、Closed Captioning、Guided Access 和 Invert Colors。但是,我还没有找到一种方法来确定用户是否打开了缩放功能(设置>常规>辅助功能>缩放)。有谁知道获取此信息的方法?
问问题
970 次
2 回答
-1
目前,无法检测缩放辅助功能选项是否打开。此信息可能会泄露用户设备的一些数据,这些数据可能对他们很敏感,因此 Apple 不会提供这些数据。您可以围绕 Zoom 选项实现功能,例如在必要时将 Zoom 焦点移动到特定控件,如果 Zoom 未激活,则这将不起作用,因此您不必担心 Zoom 是否激活。Accessibility API 提供了许多其他功能,您可以在此处查看
于 2021-11-24T15:34:25.120 回答
-1
请尝试UIAccessibility.ZoomType
一下Enum
您可能需要结合使用它[UIAccessibilityContainer][1]
或static func zoomFocusChanged(zoomType: UIAccessibility.ZoomType, toFrame: CGRect, in: UIView)
我怎么知道这一点,似乎 this 上的代码转储在UIkit
for中显示了以下定义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 回答