当选择UICollectionView单元格时,应用程序需要获取屏幕位置(x,y)。
我曾尝试touchesBegan
,但无法正常工作。我还使用UITapGestureRecognizer
和gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool
进行了测试,当设置true
或false
时,它可以使用手势或点击单元格,而不是两者。
任何方法可以让两个动作同时发挥作用吗?
感谢。
答案 0 :(得分:0)
我不确定为什么你需要两个人开火。无论你在做什么,你都可以将代码移到另一个代码上。但要回答你的问题,你可以做类似的事情。
不要使用didSelectItemAtIndexPath。将该代码移动到gestureRecognizer中。如果你需要tapPath的indexPath,请说:
let tapLocation = gesture.location(in: self.view)
let indexPath = collectionView.indexPathForItem(at: tapLocation)
如果您不喜欢,可以尝试实施
optional func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool
返回true以查看是否允许调用这两种方法。