如何使用SwiftUI绘制弧线?

G. *_*arc 4 ios swift swiftui

我想用SwiftUI绘制一个弧形。我一直在寻找类似于在Segment()上使用的segment修饰符的东西,但是找不到。我应该能够设置起点和终点角度。

use*_*195 26

该问题的另一种解决方案可以通过以下方式完成:

Circle()
   .trim(from: 0.25, to: 1.0)
   .rotation(.degrees(-90))
   .stroke(Color.black ,style: StrokeStyle(lineWidth: 3, lineCap: .butt, dash: [5,3], dashPhase: 10))
   .frame(width: 52, height: 52) 
Run Code Online (Sandbox Code Playgroud)

这将产生:

在此输入图像描述

根据您想要做什么,您可以选择进行轮换。显然,这可以扩展为视图修改器,具体取决于您的用例以及是否需要(这看起来很简单)。


kon*_*iki 6

您应该检查一下:https : //developer.apple.com/tutorials/swiftui/drawing-paths-and-shapes

这是一个快捷方式:

在此处输入图片说明

import SwiftUI

struct ContentView : View {
    var body: some View {
        MyShape()
    }
}

struct MyShape : Shape {
    func path(in rect: CGRect) -> Path {
        var p = Path()

        p.addArc(center: CGPoint(x: 100, y:100), radius: 50, startAngle: .degrees(0), endAngle: .degrees(90), clockwise: true)

        return p.strokedPath(.init(lineWidth: 3, dash: [5, 3], dashPhase: 10))
    }    
}
Run Code Online (Sandbox Code Playgroud)

  • @灰色这是Beta 5中的错误:https://stackoverflow.com/a/57302901/7786555 (2认同)