Анимировать слой под кнопкой при нажатии кнопки - PullRequest
2 голосов
/ 20 июня 2020

У меня есть слой и кнопка с чистым фоном поверх него. Кнопка - это настраиваемый класс, который отправляет действие, только когда находится внутри слоя. Я хочу добиться анимации слоя, если кнопка нажата.

Как мне определить слой под кнопкой в ​​иерархии представлений и позволить ему анимироваться в методе 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...