0

我的设置如下

- 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 总是第一个添加的。

4

0 回答 0