SwiftUI 的可取消圆形进度视图

CancelableCircularProgressView 是一个 SwiftUI 视图,它将圆形进度指示器与取消(停止)图标叠加层相结合。这在您想要指示用户可以选择停止或取消的正在进行的过程中非常有用。

功能

要求

用法

@State private var progress: Double = 0.0

CancelableCircularProgressView(value: progress)

这会初始化一个进度为 50% 的 CancelableCircularProgressView。该视图将使用默认参数设置线条宽度、图标大小和颜色。

请参阅 CancelableCircularProgressView 的预览以了解实际用例。

自定义

您可以使用以下参数自定义 CancelableCircularProgressView

例如

CancelableCircularProgressView(
    value: 0.75, 
    lineWidth: 10, 
    iconSize: 50, 
    backgroundColor: .red, 
    foregroundColor: .blue
)

实现细节

该组件由两个主要视图组成

  1. CircularProgressView:此视图负责渲染实际的圆形进度。它使用 SwiftUI 的 Circle 形状,结合修饰符和动画来实现所需的进度效果。

  2. CancelableCircularProgressView:这是主视图,它将 CircularProgressView 与取消(停止)图标的叠加层相结合。它使用 ZStack 来分层进度圆圈和停止图标。