RingProgressViewStyle - 一个为 SwiftUI 的 ProgressViewStyle 添加环样式的库
RingProgressViewStyle
RingProgressViewStyle 是一个库,它为 SwiftUI 的 .默认外观基于 的样式,但您可以自定义颜色和描边样式。ProgressViewStyle
.linear
ProgressViewStyle
例
example.swiftpm 可以在 Swift Playgrounds app 或 Xcode 中打开。
赋予动机
样式已存在于 中,但它只是一个指示器,而不是进度条。所以基本上,你必须自己实现它。.circular
ProgressViewStyle
幸运的是,如果你用谷歌搜索“SwiftUI进度环”,你可以找到许多代码示例。几乎所有看起来都像:
Circle()
.trim(from: 0, to: value)
.stroke(...)
.rotationEffect(.degrees(-90))
但是,当您尝试通过 指定其大小时,其描边线会溢出其框架。.frame(width: ..., height: ...)
为了防止这种情况,我经常使用代替.strokeBorder
stroke
Circle()
.trim(from: 0, to: value)
.strokeBorder(...)
.rotationEffect(.degrees(-90))
但它会发生编译错误,因为返回不符合,但是一种方法。trim
some Shape
InsettableShape
strokeBorder
InsettableShape
所以我创建了一个解决方案。
如何使用
将此存储库添加到应用中的包依赖项。
支持的平台
- iOS 14+
- iPadOS 14+
- macOS 11+