Кривые и пути в SwiftUI - PullRequest
       108

Кривые и пути в SwiftUI

0 голосов
/ 02 мая 2020

Я пытаюсь создать изогнутый путь, обернутый в форму, чтобы прикрепить его к панели вкладок, но у меня возникают проблемы с получением желаемого вида. enter image description here Вот взгляд, который я собираюсь сделать. Любые идеи о том, как создать эту форму?

1 Ответ

0 голосов
/ 03 мая 2020

Я смог ответить на свой вопрос, используя специальный путь и прикрепив его к панели вкладок.

struct Arc: Shape {

    var height: CGFloat = 20
    var length: CGFloat = 80
    var startX: CGFloat = 0

    func path(in rect: CGRect) -> Path {
        var path = Path()
        let midPoint: CGFloat = (startX + length) / 2
        let apex1: CGFloat = (startX + midPoint) / 2
        let apex2: CGFloat = (midPoint + length) / 2

        path.move(to: CGPoint(x: startX, y: height))

        path.addCurve(to: CGPoint(x: midPoint, y: 0), control1: CGPoint(x: apex1, y:
            height), control2: CGPoint(x: apex1, y: 0))

        path.addCurve(to: CGPoint(x: length, y: height), control1: CGPoint(x: apex2, y: 0), control2: CGPoint(x: apex2, y: height))


        return path
    }
}
...