ios – UI测试XCode 7-无法访问子视图中的元素

我正在尝试访问子视图中的元素,我发现这是不可能的.

层次结构是:

视图控制器

>查看

> tempView
> userEnterView

> zipCodeEntered

我想访问zipCodeEntered文本字段.我有一个名为“zipCodeEntered”的无障碍标签.

当我尝试并记录自动化时,它只注册超级视图“userEnterView”,而不是我可以进入的实际文本字段.

我打印“app.otherElements [SUPER_VIEW_NAME] .debugDescription”以查看该层次结构中的哪些元素,并且不打印任何元素.

任何想法,为什么我无法访问这些元素/我可以如何访问它们?

解决方法

子视图无法访问,因为父视图不是容器视图.来自“无障碍编程指南”的 Making Your iOS App Accessible节:

From the perspective of accessibility,a custom view is either an individual view or a container view. An individual view does not contain any other views that need to be accessible.

A container view,on the other hand,contains other elements with which users can interact.

为了使子视图可访问,父视图应通过从-isAccessibilityElement返回NO并实现UIAccessibilityContainer协议的方法来告知UIAccessibility它是一个辅助功能容器.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...