Обрезка и закругление lineCap для круга в SwiftUIIOS

Программируем под IOS
Ответить
Anonymous
 Обрезка и закругление lineCap для круга в SwiftUI

Сообщение Anonymous »

Я пытаюсь реализовать циклическое представление прогресса, которое выглядит следующим образом:
[img]https://i.sstatic. net/xxtf8fiI.png[/img]

Код: Выделить всё

struct SpeedometerView: View {
var body: some View {
ZStack {
Color.black.edgesIgnoringSafeArea(.all)

speedProgressView(width: 300)
}
}

private func speedProgressView(width: CGFloat) -> some View {
ZStack {
Circle()
.trim(from: 0, to: 0.2)
.stroke(.red, style: StrokeStyle(lineWidth: 4, lineCap: .round))
.shadow(color: .green, radius: 10, x: 0, y: 0)
.shadow(color: .green, radius: 2, x: 0, y: 0)
}
.frame(width: width)
.rotationEffect(.degrees(100))
}
}

#Preview {
SpeedometerView()
}
Оба конца на данный момент закруглены из-за стиля обводки. Как обрезать/обрезать только тот конец круга, который движется по часовой стрелке, если прогресс не равен 100%?
Любая помощь приветствуется.

Подробнее здесь: https://stackoverflow.com/questions/787 ... in-swiftui
Ответить

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

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

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

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

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