gpt4 book ai didi

ios - 如何在 EarlGrey 中使用 tapAtPoint

转载 作者:行者123 更新时间:2023-11-29 00:21:43 24 4
gpt4 key购买 nike

我正在编写测试,我想通过滑动来删除 tableViewCell,从而暴露红色的“删除”编辑操作。我可以很好地滑动单元格,但是当我尝试使用 tapAtPoint 时,问题就出现了。

这直接来自GREYActions.h:

* @param point 应该点击的点。它必须位于元素的坐标系中,并且其位置相对于元素的原点,如 (element_width/2, element_height/2) 中将点击元素的中心。

我尝试使用元素的框架和边界宽度减 1 点,然后像这样在单元格的中间位置:

CGPointMake(element.frame.size.width - 1, element.frame.size.height/2)

我仍然无法点击单元格的末尾。

如果我可以进一步解释,请告诉我。

最佳答案

@gran_profaci 我采纳了你的想法,但反其道而行之。

这是我学到的:

有一个名为 UITableViewCellDeleteConfirmationView 的类,这就是您在单元格上滑动时显示的内容。它可能是一个私有(private)类,因为在使用

遍历单元格的 subview 时您无法访问它或匹配它
if ([subview class] == [UITableViewCellDeleteConfirmationView class])

从技术上讲,就好像这个 View 在屏幕外,然后滑动它就会出现在屏幕上。因此,它实际上在单元格的坐标系内 - 它在 x 轴上之后。例如,如果屏幕的宽度以及 tableView 和 tableViewCell 的宽度为 600,则 confirmationView 的框架原点将类似于 (600.5, ...)

最后,我向单元格的宽度添加了 5 点,效果非常好。

CGPointMake(element.frame.size.width + 5, element.frame.size.height / 2)

关于ios - 如何在 EarlGrey 中使用 tapAtPoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44057625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com