当前位置: 首页 > news >正文

SwiftUI自定义一个水平渐变进度条

文章目录

  • 一、前言
  • 二、核心代码

一、前言

系统自带的ProgressView只能改下进度条颜色,别的做不了,这里演示下自定义进度条如何做
在这里插入图片描述

二、核心代码


import SwiftUIstruct ProgressContent: View {@State private var isActive: Bool = false@State private var progress: Double = 0.0var body: some View {VStack {Button("到80"){isActive.toggle()withAnimation(.easeInOut(duration: 2)) {progress = 80}}Button("到100"){isActive.toggle()withAnimation(.easeInOut(duration: 2)) {progress = 100}}
//            ProgressView("Downloading...", value: 50, total: 100)// 移除文字,修改颜色ProgressView(value: progress, total: 100).progressViewStyle(GradientProgressViewStyle())
//            Color.clear.animatedProgress(progress)}}
}// MARK: - ✅ 渐变 ProgressView 样式(去掉内部 animation)
struct GradientProgressViewStyle: ProgressViewStyle {func makeBody(configuration: Configuration) -> some View {let fraction = configuration.fractionCompleted ?? 0return VStack(alignment: .leading, spacing: 8) {GeometryReader { geometry inZStack(alignment: .leading) {// 背景Rectangle().fill(Color.gray.opacity(0.3)).frame(height: 8).cornerRadius(4)// 前景渐变Rectangle().fill(LinearGradient(colors: [.purple, .blue, .cyan],startPoint: .leading,endPoint: .trailing)).frame(width: geometry.size.width * fraction, height: 8).cornerRadius(4)}}.frame(height: 8)}}
}
#Preview {ProgressContent()
}
http://www.dtcms.com/a/513394.html

相关文章:

  • 电力电子技术 第四章——半导体功率器件
  • 网站运营专员具体每天怎么做wordpress音乐加载慢
  • 网站建设中图片是什么意思推特是谁的公司
  • 免费做手机网站有哪些wordpress注册邮箱收不到
  • 搜狗网站排名软件国内图片下载网站
  • wordpress 百度平台网站优化排名
  • 22.unordered_map和unordered_set的封装
  • 网站框架图片二维码生成器网页版
  • 做3d效果的网站wordpress中文问答模块
  • 杭州网站推广优化哪里好wordpress编辑文章更新失败
  • 工信部网站 地址呼伦贝尔网站建设维护
  • 帝国网站数据库配置文件网站建设程序员
  • 找别人做淘客网站他能改pid吗全网营销策划公司
  • 温州建设小学瓯江校区网站wordpress 订阅推送
  • 全屏网站帮助2021十条重大新闻
  • 自动识别手机和电脑版本网站阿里网站建设视频教程
  • 银行网站建设中优化大师下载电脑版
  • 网站建设的通知网站维护分工关键词爱站网关键词挖掘工具
  • 盘锦市住房和城乡建设厅网站济南的企业网站建设
  • Aspose.Total for .NET Crack
  • 企业建设银行网站登录不了网络推广方案有哪些
  • 苏州网站建设免费网站制作平台
  • 做外贸的网站有何用处阜阳企业网站推广
  • Orleans 与 Kubernetes 结合的价值分析
  • 长春免费网站制作做网站用什么cms 知乎
  • 国外网站域名怎么做网站8uftp
  • 自媒体可做外链网站广州做网站建设的公司排名
  • 建设网站哪家便宜百度排名优化
  • MySQL(四) - 数据查询操作
  • Linux相关概念和易错知识点(47)(五种IO模型、多路转接、select、poll、epoll)