开发人员的工具,用于可视化语音-over 用户在使用他们的应用程序时将"看到"什么。它提供了如下视图
只需将 SMAccessibilityOverlay.h 和 SMAccessibilityOverlay.m 添加到您的项目中。然后,当您想要弹出窗口的覆盖层时,可以使用类似以下的方法
#include "SMAccessibilityoverlay.h"
SMAccessibilityOverlay *accessibilityOverlay = [[SMAccessibilityOverlay alloc] init];
[accessibilityOverlay showWithWindow:nil];
您可以使用一个窗口作为参数指定,或者传递 nil,这将简单地使用当前的关键窗口。
在您晃动设备时显示访问性覆盖层通常更加方便。要启用此功能,您只需使用 SMAccessibilityOverlayApplication 作为您的应用程序类。通常,这只需要在 main.m 文件中更改一行,将如下
return UIApplicationMain(argc, argv, nil, NSStringFromClass([<your app delegate class> class]));
修改为如下
return UIApplicationMain(argc, argv, NSStringFromClass([SMAccessibilityOverlayApplication class]), NSStringFromClass([<your app delegate class> class]));
如果您已经子类化了 UIApplication,则只需将您的类更改为 SMAccessibilityOverlayApplication 的子类以获取覆盖层功能。
iOS 模拟器实际上不会开启访问性,除非您已在设置->通用->访问性中激活了访问性检查器。如果您无法在模拟器中正确地使用覆盖层,请确保已启用此选项。(您可以点击访问性检查器窗口中的关闭按钮以最小化它并使其大致摆脱视线。它也是可以拖动的。)
特别感谢Chris Gibbs,Lars Anderson和Tarun Nimmagadda的反馈和想法。
许可证(MIT)
版权所有 (C) 2013 Sean McMains, @SeanMcTex
特此免费授予任何人,在此软件及其相关文档文件(统称为“软件”)的副本(“持有人”),无限制地处置软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并许可向其提供软件的人员行使其权利,前提是在以下条件下:
上述版权声明和本许可声明应包含在软件的任何副本或实质性部分中。
软件按“现状”提供,不存在任何形式的保证,无论明确还是暗示,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生,无论是基于软件或其使用或其他处置。