0

私のセットアップは次のとおりです

- 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 のみを変更するようです。

4

0 に答える 0