SwiftUI: как создать круговой виджет панели «прогресс» с «затухающей» начальной линией, если она заполнена (100%), как вIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 SwiftUI: как создать круговой виджет панели «прогресс» с «затухающей» начальной линией, если она заполнена (100%), как в

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


Я создаю свой собственный «круговой» виджет индикатора выполнения в SwiftUI, и мне интересно, как подойти к его реализации. Если прогресс круга составляет 100% (то есть круг заполнен), я хочу, чтобы «начало» линии имело эффект «затухания», чтобы начало и конец линии не «сливались». Я видел это в виджетах "батарея" на iOS. Вот пример виджета «полного» и «не полного» аккумулятора:


Изображение

Изображение


Вот мой текущий код виджета:

struct CircleProgressView: Просмотр { @Binding var прогресс: Float var body: some View { ZStack { Круг() .stroke(ширина линии: 10) .opacity(0.3) .foregroundColor(Цвет(UIColor.systemGray3)) Круг() .trim(от: 0.0, до: CGFloat(min(self.progress, 1.0))) .stroke(стиль: StrokeStyle(lineWidth: 10, lineCap: .round, lineJoin: .round)) .foregroundColor(Цвет(UIColor.systemGreen)) .rotationEffect(Угол(градусы: 270,0)) } .padding() } } Любые идеи будут полезны.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

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

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

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

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

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