// 使用UIKit里UIActivityindicatorViews实现环形进度条
import SwiftUI
import UIKit
struct ContentView: View {
@State var isActive = true // 是否执行环形进度条的动画效果
var body: some View {
LoadingView(isActive: self.$isActive) // 添加一个环形进度条,并向它传递布尔属性。由于环形进度条的属性拥有@Binding属性包装器,所以当isActive属性值发生变化时,环形进度条里的属性值也会发生变化。
.onAppear(perform: {
Timer.scheduledTimer(withTimeInterval: 2, repeats: false) { timer in
self.isActive.toggle()
timer.invalidate() // 取消定时器
} // 定时器,间隔为两秒,并且只执行一次
}) // 在环形进度条显示之后,执行一段代码
}
}
struct ActivityIndicator: UIViewRepresentable {
@Binding var isActive: Bool // 当结构体之间进行属性数值的传递时,传递的是属性的一个副本。所以需要@Binding属性包装器,将属性变成引用类型,对结构体之间的属性进行引用绑定。这样当属性的值发生变化时,另一个引用该属性的结构体属性也会实时发生变化。
func makeUIView(context: UIViewRepresentableContext<ActivityIndicator>)
SwiftUI初级课程(十三)使用UIKit 环形进度条
于 2022-12-31 11:19:06 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)