如何判断用户是不是处于IOS UIAccessibility的开关控制模式

Posted

技术标签:

【中文标题】如何判断用户是不是处于IOS UIAccessibility的开关控制模式【英文标题】:How to identify whether the user is in switch control mode of IOS UIAccessibility如何判断用户是否处于IOS UIAccessibility的开关控制模式 【发布时间】:2014-05-26 09:59:08 【问题描述】:

我们在 ios 中有一个很好的功能来了解 UIAccessibility Voice over 是否处于活动状态。要使用的函数是 UIAccessibilityIsVoiceOverRunning()。我想知道我们是否有类似的 UIAccessibility 开关控制功能。我无法知道用户是否处于切换控制模式,即扫描是否正在发生。如何判断用户是否处于UIAccessibility的开关控制模式?

【问题讨论】:

【参考方案1】:

从 iOS 8 开始有UIAccessibilityIsSwitchControlRunning。

【讨论】:

【参考方案2】:

这并不像您想的那么容易。从我与 Apple 的互动来看,UIAccessibility API 的开关控制和可能的其他方面没有像 VoiceOver 那样彻底实现。

我发现如下:

请注意,此容器视图仅在调用 UIAccessibilityContainer 协议的方法时创建可访问元素数组。因此,如果 iPhone 可访问性当前未处于活动状态,则不会创建数组。

this link。

这表明一种方法是记录是否调用了 UIAccessibility Container 的方法,如果调用了,则可以认为可访问性为 ON,无论是 VoiceOver 还是 Switch Control。

【讨论】:

以上是关于如何判断用户是不是处于IOS UIAccessibility的开关控制模式的主要内容,如果未能解决你的问题,请参考以下文章

如何判断浏览器是不是处于“怪癖”模式?

如何判断浏览器/选项卡是不是处于活动状态[重复]

Android究竟是如何判断是不是在线的?

如何判断android的activity是不是运行

如何在 iOS 中使用 corelocation 来判断用户是不是越过下一个回合?

如何确定用户的 iPhone 是不是处于纵向模式?