我知道拖动元素的默认方式:
let start = savingsCell.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0))
let finish = savingsCell.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: -80))
start.press(forDuration: 0, thenDragTo: finish)
这里的问题是拖拽继续超出我指定的80点UITableView
。有没有办法在没有物理的情况下拖动这个数量?
答案 0 :(得分:1)
您可以使用XCUICoordinate上的coordinate(withOffset:)方法,通过从起始坐标创建结束坐标,使拖动成为精确的点数。
let start = savingsCell.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0))
let finish = start.withOffset(CGVector(dx: 0, dy: -80))
start.press(forDuration: 0, thenDragTo: finish)
规范化方法的向量是相对于元素的大小,但coordinate(withOffset:)
的向量使用绝对点值。 (不是像素 - 所以在使用@ 2x或@ 3x资源的设备上,这实际上分别是160像素或240像素)