UIAutomation无法访问UITableView

时间:2013-05-15 22:05:33

标签: ios uitableview ui-automation

这可能是一个基本问题,但我搜索了一下,阅读了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。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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