Ios 按下按钮时,为按钮下方的层设置动画

Ios 按下按钮时,为按钮下方的层设置动画,ios,swift,Ios,Swift,我有一个图层和一个按钮,上面有清晰的背景。button是一个自定义类,仅当它位于层内时才会发送操作。我想要实现的是,如果按下按钮,则为层设置动画 如何在视图层次中标识按钮下方的层,并让它在buttonClicked方法中设置动画 编辑: 该层的示例代码如下: let endAngle = startAngle + 2 * .pi * (outerSegments[i].value / valueCount) let shape = CAShape

我有一个图层和一个按钮,上面有清晰的背景。button是一个自定义类,仅当它位于层内时才会发送操作。我想要实现的是,如果按下按钮,则为层设置动画

如何在视图层次中标识按钮下方的层,并让它在buttonClicked方法中设置动画

编辑:

该层的示例代码如下:

            let endAngle = startAngle + 2 * .pi * (outerSegments[i].value / valueCount)
            let shape = CAShapeLayer()
            let path: UIBezierPath = UIBezierPath()
            path.addArc(withCenter: viewCenter, radius: outerRadius, startAngle: startAngle, endAngle: endAngle, clockwise: true)
            path.addArc(withCenter: viewCenter, radius: innerRadius, startAngle: endAngle, endAngle: startAngle, clockwise: false)
            path.close()
            shape.path = path.cgPath
            
            outerSegments[i].path = path
            
            shape.fillColor = outerSegments[i].color.cgColor
            shape.strokeColor = UIColor.black.cgColor
            shape.borderWidth = 1.0
            shape.borderColor = UIColor.black.cgColor
            self.layer.addSublayer(shape)
            ...
            // We have another textlayer on top of the layer 
            let textLayer = CATextLayer()
             ...
            let b = MyButton(type: .custom)
            b.path = path
            b.backgroundColor = UIColor.clear
            let frameRect = shape.bounds
            b.frame = frameRect

你说的“图层”是指uiview吗?你没有提到那层吗?如果不是,它是如何创建的?@rs7 By layer,我的意思是它是一个创建的CALayer(不是圆形的,这只是一个示例)。视图顶部添加了多个图层和按钮。希望这能澄清你们想问的问题,你们到目前为止试过什么?你们能告诉我这一层是怎么制作的吗?请给出一个代码示例,让您清楚。@dper您可以通过多种方式实现此功能,就像您可以使用RxSwift或notification Center使用Observer模式一样,或者您可以使用回调实现此功能。.如何显示图层代码您如何制作图层以及如何将其附加到按钮后面的视图。.谢谢。