TSToastTool.swift 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //
  2. // TSToastTool.swift
  3. // TSLiveWallpaper
  4. //
  5. // Created by 100Years on 2024/12/20.
  6. //
  7. import SVProgressHUD
  8. public let TSToastShared = TSToastTool.shared
  9. open class TSToastTool {
  10. public static let shared = TSToastTool()
  11. private init() {
  12. // SVProgressHUD.swizzleMethods()
  13. // 如果您想要堆叠 HUD,您可以使用以下方法平衡每个节目通话:
  14. // [SVProgressHUD popActivity];
  15. SVProgressHUD.setDefaultStyle(.dark)
  16. SVProgressHUD.setDefaultAnimationType(.native)
  17. SVProgressHUD.setDefaultMaskType(.clear)
  18. SVProgressHUD.setMinimumSize(CGSize(width: 100, height: 100))
  19. SVProgressHUD.setCornerRadius(16.0)
  20. SVProgressHUD.setBackgroundColor("#000000".uiColor.withAlphaComponent(0.8))
  21. SVProgressHUD.setForegroundColor(.white)
  22. SVProgressHUD.setMinimumDismissTimeInterval(3.0)
  23. // SVProgressHUD.setInfoImage(UIImage())
  24. // SVProgressHUD.setImageViewSize(CGSize.zero)
  25. }
  26. public func setUIContent(font:UIFont? = nil,infoImage:UIImage? = nil) {
  27. if let font = font {
  28. SVProgressHUD.setFont(font)
  29. }
  30. if let infoImage = infoImage {
  31. SVProgressHUD.setInfoImage(infoImage)
  32. }
  33. }
  34. /// 显示文字提示
  35. public func showToast(text: String?, duration: TimeInterval = 3.0,containerView:UIView? = nil) {
  36. if let text = text {
  37. if text.count == 0 {
  38. return
  39. }
  40. kMainAsync {
  41. if let containerView = containerView {
  42. SVProgressHUD.setContainerView(containerView)
  43. }else if let window = WindowHelper.getCurrentWindow() {
  44. SVProgressHUD.setContainerView(window)
  45. }
  46. SVProgressHUD.setDefaultMaskType(.none)
  47. SVProgressHUD.showInfo(withStatus: text)
  48. }
  49. }
  50. }
  51. /// 显示加载动画
  52. public func showLoading(text:String? = nil,containerView:UIView? = WindowHelper.getCurrentWindow()) {
  53. kMainAsync {
  54. SVProgressHUD.setDefaultMaskType(.clear)
  55. SVProgressHUD.setContainerView(containerView)
  56. SVProgressHUD.show(withStatus: text)
  57. }
  58. }
  59. /// 隐藏加载动画
  60. public func hideLoading() {
  61. kMainAsync {
  62. SVProgressHUD.dismiss()
  63. }
  64. }
  65. /// 显示进度提示
  66. public func showProgress(progress:Float, status: String?,containerView:UIView?) {
  67. kMainAsync {
  68. SVProgressHUD.setDefaultMaskType(.clear)
  69. SVProgressHUD.setContainerView(containerView)
  70. SVProgressHUD.showProgress(progress, status: status)
  71. }
  72. }
  73. }
  74. public func kShowToastDataMissing(){
  75. TSToastShared.showToast(text: "Data missing")
  76. }