Path builder 是一个完整的 result builder,用于将 Path
提升到声明式的 SwiftUI 世界。这个 @resultBuilder
可以用于优雅且简洁地定义路径。SwiftUI 中缺失的文档空白通过使用古老但优秀的 CGMutablePath 知识来填补。
我只是想学习如何实现 result builders。在 SwiftUI 中玩动画路径时,我找到了一个完美的实验场所。
使用 PathBuilder,你可以这样写来绘制一个三角形
Path {
Move(to: CGPoint(x: 50, y: 50))
Line(to: CGPoint(x: 100, y: 100))
Line(to: CGPoint(x: 0, y: 100))
Close()
}
而不是更长的版本
Path { p in
p.move(to: CGPoint(x: 50, y: 50))
p.addLine(to: CGPoint(x: 100, y: 100))
p.addLine(to: CGPoint(x: 0, y: 100))
p.closeSubpath()
}
绘制 Swift Logo 可以像 这样 实现。
这里有很多基本的路径组件。你可以通过遵循 PathComponent
协议来创建一个新的组件。
对于 Swift 5.1 到 5.3,请使用包版本 1.1.1。
否则,对于 2.0+ 版本,请使用最新的工具
在 Xcode 中使用 Swift Package Manager 或添加到你的 Package manifest 文件中。
欢迎所有贡献。
项目由 Matěj Kašpar Jirásek 创建。
项目根据 MIT 许可证 授权。