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

时间:2011-10-26 09:52:47

标签: ios accessibility ios-ui-automation

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

5 个答案:

答案 0 :(得分:52)

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

关键路径:accessibilityIdentifier

类型:字符串

值:选择accessibilityIdentifier文本

E.g。设置滚动视图以使辅助功能ID'ScrollView': Image from Xcode 8.3.2

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

答案 1 :(得分:11)

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

enter image description here

您只需将其作为view.accessibilityIdentifier

进行访问即可

答案 2 :(得分:5)

根据这个页面

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

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

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

答案 3 :(得分:1)

答案 4 :(得分:0)

我想知道,你想测试没有IBOutlet的xib吗?有经验的人可以分享他/她的想法吗?

以下是我对这个问题的看法。 如果您没有将IBOutlet分配给按钮/标签/ texBox,或者这意味着您不会从代码中更改它。控件将是静态的,您可以在“界面”构建器中看到它。 如果将IBOutlet添加到控件,则可以从代码中添加acessibilityIdentifier。