我遇到了这个问题,我有27个UIView彼此叠加,框架完全相同,在视觉上它们彼此相邻,视觉呈现:
所以他们所有的框架都是大黄色方块。它们使用CAShapeLayer(彩色三角形)进行遮罩。我向所有人添加了一个UIPanGesture(不确定这是最好的方法),我想确定用户淘汰了哪一个。当然(显然),只有最顶层的是可访问的,并且始终是UIPanGesture中的视图。如何确定UIView的哪一个手指正在平移? for循环似乎也很昂贵..或者我是否接近这个错误?
这是用于创建所有这些并处理平移手势的代码: Gist to code
Sender to tag总是27,当然......不知道怎么解决这个家伙!有人知道吗?
答案 0 :(得分:0)
搞清楚!
我将所有内容都移动到自定义UIView中,在draw rect中我使用CAShapeLayers绘制所有三角形,向其添加UIPanGesture,并且在手势处理程序中,如果该图层包含手势,则可以使用CGPathContainsPoint检查for循环点!
希望这有助于某人!