在 iPhone 应用程序中使用 UIAutomation 在主视图上搜索元素真的很慢

Posted

技术标签:

【中文标题】在 iPhone 应用程序中使用 UIAutomation 在主视图上搜索元素真的很慢【英文标题】:Using UIAutomation to search elements on the Main View is really slow in IPhone app 【发布时间】:2010-11-18 04:19:12 【问题描述】:

当我使用 for 循环时,它调用 UIATarget.localTarget().frontMostApp().mainWindow().elements();要在主视图上搜索特定元素,它的运行速度非常慢。有没有人遇到过这个问题?如果是这样,任何建议

【问题讨论】:

也发现了同样的东西...分享你发现的任何知识! 【参考方案1】:

我遇到了同样的问题,经过一番研究,我发现 UI 自动化会等待调用 myElement.elements()[i] 以防元素尚无法访问。所以如果你想减少这个延迟,你应该在堆栈上压入一个新的超时值,然后像这样弹出它:

UIATarget.localTarget().pushTimeout(0);
...
UIATarget.localTarget().popTimeout();

或者简单地说:

UIATarget.localTarget().setTimeout(0);

来源: http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Reference/UIATargetClassReference/UIATargetClass/UIATargetClass.html

【讨论】:

快速说明:应该是 UIATarget(注意交换了 I 和 A)。【参考方案2】:

我不久前开始研究这个乐器,我想你可以试试这个:

button = UAITarget.localTarget().frontMostApplication().mainWindow().tableView()[0].scrollToElementWithPredicate("name beginswith "Your Specific Element Name");

其中 tableView 是您的主窗口视图列表的层次结构,其中将包含您的按钮以及您为其指定的特定名称。

如果你找到了方法,请也发布你的答案。

【讨论】:

以上是关于在 iPhone 应用程序中使用 UIAutomation 在主视图上搜索元素真的很慢的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iphone sdk 在 ipAd 控制器中发布我们自己的 iphone 应用程序广告?

如何在iphone中录制屏幕[关闭]

如何在 iTunes Connect 中查看我的 iphone 应用程序的使用情况?

将 iPhone 应用程序转换为 iPad,然后在 iPad 中使用 splitview?

如何使用模拟分享我仍在开发中的 iphone 应用程序

如何在 iphone 中使用应用程序委托方法