0

我正在编写测试,我想通过滑动删除 tableViewCell,暴露红色的“删除”编辑操作。我可以很好地滑动单元格,但是当我尝试使用tapAtPoint.

这直接来自GREYActions.h

* @param point The point that should be tapped. It must be in the coordinate system of the element and it's position is relative to the origin of the element, as in (element_width/2, element_height/2) will tap at the center of element.

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

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

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

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

4

1 回答 1

1

@gran_profaci 我接受了你的想法,并采取了另一种方式。

这是我学到的:

有一个名为 的类UITableViewCellDeleteConfirmationView,当您在单元格上滑动时会显示该类。它可能是一个私有类,因为您在遍历单元格的子视图时无法访问或匹配它

if ([subview class] == [UITableViewCellDeleteConfirmationView class])

从技术上讲,就好像这个视图不在屏幕上,并且滑动会将其带到屏幕上。因此,它实际上不在单元格的坐标系内——它x 轴之后。例如,如果屏幕的宽度以及 tableView 和 tableViewCell 的宽度为 600,则确认视图的帧原点将类似于(600.5, ...).

最后,我在单元格的宽度上添加了5 个点,效果很好。

CGPointMake(element.frame.size.width + 5, element.frame.size.height / 2)
于 2017-05-18T22:20:13.143 回答