可以在界面构建器中设置辅助功能标识符吗?Xcode4.2

Car*_*loS 24 accessibility ios ios-ui-automation

我只能在界面构建器中设置辅助功能标签,但在UI自动化中,我需要辅助功能标识符来获取UI元素.任何方式这样做?

小智 53

可以使用Identity Inspector选项卡的"用户定义的运行时属性"在IB中设置accessibilityIndentifier:

关键路径:accessibilityIdentifier

类型:字符串

值:选择accessibilityIdentifier文本

例如,设置滚动视图以使辅助功能ID为"ScrollView": 图片来自Xcode 8.3.2

注意:这只能用于具有accessibilityIdentifier属性的项目,这意味着它们从UIView继承.此外,"密钥路径"中的拼写错误可能会在项目加载时导致异常,我不相信会给出编译警告/错误.

  • 这是最佳答案,因此accessibilityLabel是一个面向用户的构造,不会受到程序化细节的污染. (4认同)

Ane*_*ees 11

在Xcode 7.1(ios 9.0)中,您可以尽可能简单地完成.请找到附上的图片.

在此输入图像描述

您只需将其作为view.accessibilityIdentifier访问即可


Nic*_*ood 5

根据这个页面

http://developer.apple.com/library/ios/#documentation/AnalysisTools/Conceptual/WhatsNewInstruments/NewFeatures42/NewFeatures42.html

如果未设置accessibilityIdentifier,UIAutomation将使用accessibilityLabel,因此您现在可以使用它.这可能不是最好的做法,因为如果使用VoiceOver,accessibilityLabel 对用户是可见的(或者说是听得见的),但只要您给出对人类有意义的标签名称就可以了.

希望Apple将来会添加一种在IB中设置accessibilityIdentifier的方法,但是现在你必须在代码中设置它,或者使用其他东西(如view标签)来定位自动化视图.