0

这可能是一个基本问题,但我已经搜索了相当多的内容并阅读了 Apple 的文档以及这里的几个问题和一些博客文章。到目前为止,我找不到任何可以帮助我的东西。

我现在正试图进入 UIAutomation 并且在我的第一个屏幕上遇到了问题。

我有一个 UIViewController,它的 UITableView 占据了大部分屏幕空间。

我尝试了很多不同的东西,但是每当我记录元素树时,似乎 UITableView 只被识别为 UIAElement 没有更多可用数据。

我找不到使用 IB 使 UITableView “可访问”的方法。我在代码中完成了以下操作:

- (void)viewDidLoad {
    [super viewDidLoad];

    [[self tableView] setIsAccessibilityElement:YES];
    [[self tableView] setAccessibilityLabel:@"TableView"];
}

依然没有。

在 Apple 的文档中,列出了以下内容:

UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0];

这是我尝试过的:

var firstTableView = UIATarget.localTarget().frontMostApp().mainWindow().tableViews()[0];
UIALogger.logStart("Logging element tree …");
firstTableView.logElementTree();
UIALogger.logPass();

结果是 UIAElementNil。

有任何想法吗?

4

1 回答 1

0

看起来您的表格视图尚未加载。放入延迟,例如UIATarget.localTarget().delay(3),然后调用 logElementTree 以查看发生了什么。

于 2013-07-29T03:57:09.137 回答