Как нарисовать только верхнюю часть окружности?IOS

Программируем под IOS
Ответить
Anonymous
 Как нарисовать только верхнюю часть окружности?

Сообщение Anonymous »

Я пытаюсь нарисовать дугу в SwiftUI, практикуюсь и хочу сделать это представление (см. рисунок) с веб-сайта Apple, где показано, как реализовать живые действия Dynamic Island.
Изображение

Я пробовал использую путь, но я не уверен, как нарисовать только дугу, а не полукруг, как это делает мой код.
Вот код, использующий путь:
struct ArcShape: Shape {
func path(in rect: CGRect) -> Path {
var path = Path()

let center = CGPoint(x: rect.midX, y: rect.midY)
let radius: CGFloat = 100
let startAngle = Angle(degrees: 180)
let endAngle = Angle(degrees: 0)
path.addArc(center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise: false)

return path
}
}

А вот более близкий подход с использованиемCircle и обрезал его, но я не знаю, как его «размять» и сделать более плоским, а также закруглить углы. Я попробовал использовать .cornerRadius и сделать рамку широкий и не высокий, но результата я не увидел, только круг на рамке подстроился под меньший размер:
Circle()
.trim(from: 0.55, to: 0.95)
.stroke(.linearGradient(colors: [.blue, .cyan],
startPoint: .leading,
endPoint: .trailing), lineWidth: 5)


Подробнее здесь: https://stackoverflow.com/questions/790 ... cumference
Ответить

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

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

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

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

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