Как анимировать endAngle UIBezierPath в UIKit, например SwiftUIIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 Как анимировать endAngle UIBezierPath в UIKit, например SwiftUI

Сообщение Гость »


Мне нужно создать плавную анимацию endAngle в UIKit, например animatableData + endAngle в SwiftUI

Я сделал что-то вроде таймера круговой диаграммы, мне нужно анимировать его свертывание. Я создал его с помощью UIBezierPath, но с помощью CABasicAnimation или UIViewAnimate я не могу анимировать его endAngle. Но я сделал это с помощью SwiftUI, используя animatableData внутри Shape и линейную анимацию. SwiftUI анимация Есть ли какие-нибудь варианты заставить его работать с UIKit?

Вот код, который я использую для рисования пирога:

частная функция getInnerTimerPiePathByPercent() -> CGPath { let radius: CGFloat = (min(bounds.size.width,bounds.size.height) - 34)/2 let fillPercent: CGFloat = 1 -clearSegmentPercent начнем: CGFloat = CGFloat.pi/2 * 3 let end = getEndAngleByPercent(filledPercent) пусть центр = CGPoint(x:bounds.size.width/2,y:bounds.size.height/2) пусть bezierPath = UIBezierPath() bezierPath.move(в: центр) bezierPath.addArc(withCenter: центр, радиус: радиус, startAngle: начало, endAngle: конец, по часовой стрелке: ложь) bezierPath.addLine(в: центр) вернуть bezierPath.cgPath } частная функция getEndAngleByPercent (_ процентов: CGFloat) -> CGFloat { -CGFloat.pi * 2 * процент + CGFloat.pi / 2 * 3 } Вот код, который я использовал в анимации:
let анимация = CABasicAnimation(keyPath: "путь") анимация.длительность = 10 анимация.toValue = getInnerTimerPiePathByPercent (процент: 0) анимация.isRemovedOnCompletion = ложь InternalTimerPieShapeLayer?.add(анимация, forKey: ноль)
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ, комментарий, отзыв

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»