我正在尝试访问子视图中的元素,我发现这是不可能的.
层次结构是:
视图控制器
>查看
> 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它是一个辅助功能容器.