SwiftUI Есть ли возможность разместить объекты из массива по определенному пути (Path) с равным расстоянием?
Нужно разместить объекты из массива circles по периметру фигуры с равным расстоянием друг от друга. Подскажите способ если есть такой.
import SwiftUI
struct ShapeWork: Shape {
func path(in rect: CGRect) -> Path {
var path = Path()
path.move(to: CGPoint(x: 50, y: 30))
path.addLine(to: CGPoint(x: 250, y: 0))
path.addQuadCurve(
to: CGPoint(x: 250, y: 100),
control: CGPoint(x: 300, y: 50))
path.addLine(to: CGPoint(x: 50, y: 100))
path.addQuadCurve(
to: CGPoint(x: 50, y: 30),
control: CGPoint(x: 0, y: 75))
return path
}
}
struct Circle: Identifiable {
let id: Int
let opaciti: Double
}
struct ContentView: View {
var circles: [Circle] = [
Circle(id: 1, opaciti: 1),
Circle(id: 2, opaciti: 1),
Circle(id: 3, opaciti: 1),
Circle(id: 4, opaciti: 1),
Circle(id: 5, opaciti: 1),
Circle(id: 6, opaciti: 1),
Circle(id: 7, opaciti: 1)
]
var body: some View {
ZStack {
ShapeWork()
.stroke(lineWidth: 3)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.frame(width: 300, height: 100)
}
}
Источник: Stack Overflow на русском