我的设置如下
- 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,它总是添加的第一个。