ios开发框架封装(十):MBProgressHUD基本使用与二次封装

先放demo地址:github.com/KeWangKW/99...

  • 封装只是为了少写代码而已

(一)MBProgressHUD------使用:

    1. 默认展示
    • let hud = MBProgressHUD.showAdded(to: superView, animated: true)
    1. 默认展示 + 文字
    • hud.label.text = "Text"
    • hud.detailsLabel.text = "Deatil"

    1. 修改背景边框颜色
    • hud.bezelView.style = .solidColor//设置此属性,可随心随遇的设置背景色
    • hud.bezelView.color = UIColor.init(white: 0, alpha: 0.3)
    • 背景色透明度 alpha 为0时,也能隐藏背景框
    1. 修改动图和文字颜色
    • hud.contentColor = UIColor.red
    1. 修改内容 和 边框 之间的间距 ,margin默认值是20,以下是修改成5的样式
    • hud.margin = 5
    1. 展示 进度条 类型
    • hud.mode = .determinate //饼状进度条
    • hud.mode = .determinateHorizontalBar //线型进度条
    • hud.mode = .annularDeterminate //环状进度条
    • hud.progress = xxxx //设置进度
    • 如果要文字展示出进度,设置 hud.label.text = 即可

    1. 使用自定义图片
    • hud.mode = .customView
    • hud.customView = UIImageView(image: UIImage(named: "HUD_success") )
    • hud.mode = .customView
    • let imageView = UIImageView()
    • if let localGifURL = Bundle.main.url(forResource: "加载缓存", withExtension: "gif") {
      • imageView.sd_setImage(with: localGifURL, completed: nil)
    • }

(二)MBProgressHUD------封装:

一级封装:
  • 封装文件名:HUD.swift
  • 展示HUD方法名:showMBProgressHUD
  • 传递参数:
    • /// view:展示所在View
    • /// mode:类型:
      • /// MBProgressHUDModeIndeterminate:普通加载动图
      • /// MBProgressHUDModeDeterminate:饼状进度条
      • /// MBProgressHUDModeDeterminateHorizontalBar:水平进度条
      • /// MBProgressHUDModeAnnularDeterminate:圆环进度条
      • /// MBProgressHUDModeCustomView:显示自定义视图
      • /// MBProgressHUDModeText:只显示标签
    • /// bezelViewColor:边框的背景色
    • /// contentColor:普通加载动图、文字颜色
    • /// text:展示文字
    • /// detailText:展示详情文字
    • /// margin:内容到边框 最小边距 默认20
    • /// imageV:自定义图片
  • 隐藏HUD方法名:func hide(_ view: UIView? = nil)
二级封装【封装常用样式】:
  • 默认展示 可展示文字

    • HUD.show()
    • HUD.show(text: "233")
  • 展示纯文字 默认1.5秒后消失

    • HUD.showText(text: "23333")
  • 展示成功图片 可展示文字 默认1.5秒后消失

    • HUD.showSuccess()
    • HUD.showSuccess(text:"2333")
  • 展示失败图片 可展示文字 默认1.5秒后消失

    • 同上
  • 展示提示图片 可展示文字 默认1.5秒后消失

    • 同上
  • 展示进度条

    • let hud = HUD.showProgress(text: "进度")
    • hud.progress = 0.3 //设置进度
  • 以上方法中 view 参数是指要展示HUD的view,不传此参数默认展示在当前视图控制器上

  • 以上是我在自己项目中常用的样式,有其他样式时可在 extension HUD 扩展方法中添加,或者在一级封装的方法中添加属性

  • 封装后,调用展示仅用一行代码就能完成 如:HUD.showSuccess(text:"2333") 隐藏:HUD.hide()

  • GIF演示如下:

相关推荐
柚鸥ASO优化2 小时前
一篇讲透安卓ASO!开发者千万别只盯着iOS了
android·ios·aso优化
黑科技iOS上架3 小时前
Swift Package Manager包管理工具的优缺点
经验分享·ios
大熊猫侯佩7 小时前
Swift 6.4 的 Ref / MutableRef 大揭秘:给值类型开一扇“安全的小窗”
ios·swift·编程语言
黑科技iOS上架7 小时前
没有mac电脑如何借助windows系统上传ipa到App Store
经验分享·ios
Layer8 小时前
从 WWDC 26 空间重构(Spatial Reframing)再看端侧 2D 转 3D 的技术演进
ios·aigc
Cutecat_18 小时前
视频字幕处理工具横向:提取模式 vs 编辑模式,该如何选择
android·前端·ios·语音识别
大熊猫侯佩1 天前
WWDC26 SwiftUI 进化之路:砸碎黑盒,彻底迎来开发自由!
ios·swiftui·swift
游戏开发爱好者81 天前
iPhone真机调试有哪些方法?一次定位推送权限问题时整理出来的几种方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
大熊猫侯佩1 天前
WWDC26 最被忽视的王炸:告别“伪并发”陷阱,Swift 6.4 的 async defer
ios·swift·编程语言
h-189-53-6712071 天前
苹果开发者账号防关联3.2f隔离环境传包提审iOS开发上架的高效隔离方案:iOSUploader工具实用解析
ios·ios上架·ios审核·苹果审核·苹果开发者账号·苹果开发者封号