我的设置如下
- UIView
- CALayer (container)
-CAShapeLayer
-CAShapeLayer
-..
我想检测每个shapelayer上的点击触摸来改变它的颜色
UITapGestureRecognizer
我已经放了一个UIView
并有以下代码
CGPoint point = [self tapWithPoint:[recognizer locationInView:pieView]];
PieSliceLayer* layerThatWasTapped = (PieSliceLayer *)[_containerLayer hitTest:point];
[(PieSliceLayer *)[layerThatWasTapped modelLayer] setFillColor:UIColor.redColor];
但它似乎只改变 1 CAShapeLayer 总是第一个添加的。