私のセットアップは次のとおりです
- UIView
- CALayer (container)
-CAShapeLayer
-CAShapeLayer
-..
そして、すべてのシェイプレイヤーでタップタッチを検出して色を変更したい
UITapGestureRecognizer
私は自分の上に置きUIView
、次のコードを持っています
CGPoint point = [self tapWithPoint:[recognizer locationInView:pieView]];
PieSliceLayer* layerThatWasTapped = (PieSliceLayer *)[_containerLayer hitTest:point];
[(PieSliceLayer *)[layerThatWasTapped modelLayer] setFillColor:UIColor.redColor];
しかし、常に最初に追加された 1 つの CAShapeLayer のみを変更するようです。