From ebfc53502e31d2d6ec0fe0e93341e6fb2a8ae3bb Mon Sep 17 00:00:00 2001 From: xaoxuu Date: Mon, 12 Sep 2022 17:47:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PHDemo/PHDemo/AlertVC.swift | 40 ++++++++++++----- .../demo.message.imageset}/Contents.json | 4 +- .../demo.message.imageset/demo.message@2x.png | Bin 0 -> 2355 bytes .../demo.message.imageset/demo.message@3x.png | Bin 0 -> 3869 bytes .../demo.note.imageset}/Contents.json | 4 +- .../demo.note.imageset/demo.note@2x.png | Bin 0 -> 2436 bytes .../demo.note.imageset/demo.note@3x.png | Bin 0 -> 3796 bytes .../demo.questionmark.imageset}/Contents.json | 4 +- .../demo.questionmark@2x.png | Bin 0 -> 4880 bytes .../demo.questionmark@3x.png | Bin 0 -> 7505 bytes .../Contents.json | 4 +- .../demo.trash.imageset/demo.trash@2x.png | Bin 0 -> 2594 bytes .../demo.trash.imageset/demo.trash@3x.png | Bin 0 -> 3931 bytes .../Contents.json | 22 ---------- .../prohud.rainbow.circle@2x.png | Bin 10224 -> 0 bytes .../prohud.rainbow.circle@3x.png | Bin 19174 -> 0 bytes .../prohud.trash.imageset/prohud.trash@2x.png | Bin 4041 -> 0 bytes .../prohud.trash.imageset/prohud.trash@3x.png | Bin 6698 -> 0 bytes PHDemo/PHDemo/Scenes.swift | 25 ++++++++--- PHDemo/PHDemo/ToastVC.swift | 30 +++++++++---- Resources/Icons.sketch | Bin 0 -> 77396 bytes Resources/demo.message@2x.png | Bin 0 -> 2355 bytes Resources/demo.message@3x.png | Bin 0 -> 3869 bytes Resources/demo.note@2x.png | Bin 0 -> 2436 bytes Resources/demo.note@3x.png | Bin 0 -> 3796 bytes Resources/demo.questionmark@2x.png | Bin 0 -> 4880 bytes Resources/demo.questionmark@3x.png | Bin 0 -> 7505 bytes Resources/demo.trash@2x.png | Bin 0 -> 2594 bytes Resources/demo.trash@3x.png | Bin 0 -> 3931 bytes Resources/prohud.checkmark@2x.png | Bin 0 -> 3624 bytes Resources/prohud.checkmark@3x.png | Bin 0 -> 5723 bytes Resources/prohud.exclamationmark@2x.png | Bin 0 -> 2656 bytes Resources/prohud.exclamationmark@3x.png | Bin 0 -> 4064 bytes Resources/prohud.rainbow@2x.png | Bin 0 -> 8521 bytes Resources/prohud.rainbow@3x.png | Bin 0 -> 15426 bytes Resources/prohud.windmill@2x.png | Bin 0 -> 4065 bytes Resources/prohud.windmill@3x.png | Bin 0 -> 6098 bytes Resources/prohud.xmark@2x.png | Bin 0 -> 3048 bytes Resources/prohud.xmark@3x.png | Bin 0 -> 4789 bytes Sources/ProHUD/Alert/Alert.swift | 9 +++- Sources/ProHUD/Alert/AlertDefaultLayout.swift | 41 ++++++++++-------- Sources/ProHUD/Alert/AlertManager.swift | 12 +++-- .../ProHUD/Core/Models/Configuration.swift | 2 +- Sources/ProHUD/Core/Models/ViewModel.swift | 19 +------- .../ProHUD/Core/Utils/RotateAnimation.swift | 7 ++- Sources/ProHUD/Core/Views/ProgressView.swift | 36 +++++++++++---- .../Resources/ProHUD.xcassets/Contents.json | 6 +-- .../prohud.checkmark@2x.png | Bin 4259 -> 3624 bytes .../prohud.checkmark@3x.png | Bin 7150 -> 5723 bytes .../prohud.exclamationmark@2x.png | Bin 3553 -> 2656 bytes .../prohud.exclamationmark@3x.png | Bin 6037 -> 4064 bytes .../prohud.message@2x.png | Bin 3622 -> 0 bytes .../prohud.message@3x.png | Bin 5951 -> 0 bytes .../prohud.note.imageset/prohud.note@2x.png | Bin 4013 -> 0 bytes .../prohud.note.imageset/prohud.note@3x.png | Bin 6788 -> 0 bytes .../prohud.privacy@2x.png | Bin 4371 -> 0 bytes .../prohud.privacy@3x.png | Bin 7464 -> 0 bytes .../Contents.json | 22 ---------- .../prohud.questionmark@2x.png | Bin 4190 -> 0 bytes .../prohud.questionmark@3x.png | Bin 7034 -> 0 bytes .../Contents.json | 22 ---------- .../prohud.rainbow.circle@2x.png | Bin 10224 -> 0 bytes .../prohud.rainbow.circle@3x.png | Bin 19174 -> 0 bytes .../Contents.json | 4 +- .../prohud.rainbow@2x.png | Bin 0 -> 8521 bytes .../prohud.rainbow@3x.png | Bin 0 -> 15426 bytes .../prohud.trash.imageset/prohud.trash@2x.png | Bin 4041 -> 0 bytes .../prohud.trash.imageset/prohud.trash@3x.png | Bin 6698 -> 0 bytes .../prohud.windmill@2x.png | Bin 4962 -> 4065 bytes .../prohud.windmill@3x.png | Bin 7597 -> 6098 bytes .../prohud.xmark.imageset/prohud.xmark@2x.png | Bin 3738 -> 3048 bytes .../prohud.xmark.imageset/prohud.xmark@3x.png | Bin 6214 -> 4789 bytes Sources/ProHUD/Toast/ToastConfiguration.swift | 6 +-- Sources/ProHUD/Toast/ToastDefaultLayout.swift | 28 +++++++----- Sources/ProHUD/Toast/ToastManager.swift | 12 +++-- 75 files changed, 177 insertions(+), 182 deletions(-) rename {Sources/ProHUD/Resources/ProHUD.xcassets/prohud.trash.imageset => PHDemo/PHDemo/Assets.xcassets/demo.message.imageset}/Contents.json (76%) create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/demo.message@2x.png create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/demo.message@3x.png rename {Sources/ProHUD/Resources/ProHUD.xcassets/prohud.note.imageset => PHDemo/PHDemo/Assets.xcassets/demo.note.imageset}/Contents.json (76%) create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.note.imageset/demo.note@2x.png create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.note.imageset/demo.note@3x.png rename {Sources/ProHUD/Resources/ProHUD.xcassets/prohud.message.imageset => PHDemo/PHDemo/Assets.xcassets/demo.questionmark.imageset}/Contents.json (74%) create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.questionmark.imageset/demo.questionmark@2x.png create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.questionmark.imageset/demo.questionmark@3x.png rename PHDemo/PHDemo/Assets.xcassets/{prohud.trash.imageset => demo.trash.imageset}/Contents.json (76%) create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.trash.imageset/demo.trash@2x.png create mode 100644 PHDemo/PHDemo/Assets.xcassets/demo.trash.imageset/demo.trash@3x.png delete mode 100644 PHDemo/PHDemo/Assets.xcassets/prohud.rainbow.circle.imageset/Contents.json delete mode 100644 PHDemo/PHDemo/Assets.xcassets/prohud.rainbow.circle.imageset/prohud.rainbow.circle@2x.png delete mode 100644 PHDemo/PHDemo/Assets.xcassets/prohud.rainbow.circle.imageset/prohud.rainbow.circle@3x.png delete mode 100644 PHDemo/PHDemo/Assets.xcassets/prohud.trash.imageset/prohud.trash@2x.png delete mode 100644 PHDemo/PHDemo/Assets.xcassets/prohud.trash.imageset/prohud.trash@3x.png create mode 100644 Resources/Icons.sketch create mode 100644 Resources/demo.message@2x.png create mode 100644 Resources/demo.message@3x.png create mode 100644 Resources/demo.note@2x.png create mode 100644 Resources/demo.note@3x.png create mode 100644 Resources/demo.questionmark@2x.png create mode 100644 Resources/demo.questionmark@3x.png create mode 100644 Resources/demo.trash@2x.png create mode 100644 Resources/demo.trash@3x.png create mode 100644 Resources/prohud.checkmark@2x.png create mode 100644 Resources/prohud.checkmark@3x.png create mode 100644 Resources/prohud.exclamationmark@2x.png create mode 100644 Resources/prohud.exclamationmark@3x.png create mode 100644 Resources/prohud.rainbow@2x.png create mode 100644 Resources/prohud.rainbow@3x.png create mode 100644 Resources/prohud.windmill@2x.png create mode 100644 Resources/prohud.windmill@3x.png create mode 100644 Resources/prohud.xmark@2x.png create mode 100644 Resources/prohud.xmark@3x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.message.imageset/prohud.message@2x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.message.imageset/prohud.message@3x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.note.imageset/prohud.note@2x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.note.imageset/prohud.note@3x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.privacy.imageset/prohud.privacy@2x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.privacy.imageset/prohud.privacy@3x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.questionmark.imageset/Contents.json delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.questionmark.imageset/prohud.questionmark@2x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.questionmark.imageset/prohud.questionmark@3x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.rainbow.circle.imageset/Contents.json delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.rainbow.circle.imageset/prohud.rainbow.circle@2x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.rainbow.circle.imageset/prohud.rainbow.circle@3x.png rename Sources/ProHUD/Resources/ProHUD.xcassets/{prohud.privacy.imageset => prohud.rainbow.imageset}/Contents.json (75%) create mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.rainbow.imageset/prohud.rainbow@2x.png create mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.rainbow.imageset/prohud.rainbow@3x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.trash.imageset/prohud.trash@2x.png delete mode 100644 Sources/ProHUD/Resources/ProHUD.xcassets/prohud.trash.imageset/prohud.trash@3x.png diff --git a/PHDemo/PHDemo/AlertVC.swift b/PHDemo/PHDemo/AlertVC.swift index 36efc2f..4c252f5 100644 --- a/PHDemo/PHDemo/AlertVC.swift +++ b/PHDemo/PHDemo/AlertVC.swift @@ -91,20 +91,34 @@ class AlertVC: ListVC { } } list.add(title: "图标 + 文字 + 按钮") { section in - section.add(title: "图标 + 一段文字 + 自定义浅色按钮") { - Alert(.confirm) { alert in - alert.vm.title = "自定义浅色按钮" + section.add(title: "操作成功") { + Alert(.success(3).title("操作成功").message("这条消息将在3s后消失")).push() + } + section.add(title: "操作失败") { + Alert { alert in + alert.vm = .error.title("操作失败").message("请稍后重试") + alert.add(action: "取消", style: .gray) + alert.add(action: "重试") + } + } + section.add(title: "警告") { + Alert(.warning.message("电量不足,请立即充电")) { alert in + let btn = alert.add(action: "我知道了", style: .filled(color: UIColor.systemYellow)) + btn.setTitleColor(.black, for: .normal) + } + } + section.add(title: "确认选择") { + Alert(.confirm.title("请选择颜色")) { alert in alert.add(action: "红色", style: .light(color: .systemRed)) alert.add(action: "蓝色", style: .light(color: .systemBlue)) } } - section.add(title: "图标 + 标题 + 正文 + 自定义深色按钮") { - Alert(.note) { alert in - alert.vm.title = "自定义深色按钮" - alert.vm.message = "这是一段正文,长度超出最大宽度时会自动换行" - alert.add(action: "橙色", style: .filled(color: .systemOrange)) - alert.add(action: "粉色", style: .filled(color: .systemPink)) - alert.add(action: "默认灰色", style: .gray) + section.add(title: "确认删除") { + Alert(.delete) { alert in + alert.vm.title = "确认删除" + alert.vm.message = "此操作无法撤销" + alert.add(action: "取消", style: .gray) + alert.add(action: "删除", style: .destructive) } } } @@ -213,9 +227,13 @@ class AlertVC: ListVC { let vc = UIViewController() vc.title = "页面" vc.view.backgroundColor = .systemYellow - let alert = Alert(.loading.title("正在加载").message("这个弹窗被放在指定的容器中")) + let alert = Alert(.loading.title("正在加载").message("这个弹窗被放在指定容器中")) + alert.add(action: "返回上一页") { alert in + vc.dismiss(animated: true) + } alert.config.enableShadow = false self?.present(vc, animated: true) + vc.addChild(alert) vc.view.addSubview(alert.view) alert.view.snp.makeConstraints { make in make.edges.equalToSuperview() diff --git a/Sources/ProHUD/Resources/ProHUD.xcassets/prohud.trash.imageset/Contents.json b/PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/Contents.json similarity index 76% rename from Sources/ProHUD/Resources/ProHUD.xcassets/prohud.trash.imageset/Contents.json rename to PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/Contents.json index 551989a..801eb8e 100644 --- a/Sources/ProHUD/Resources/ProHUD.xcassets/prohud.trash.imageset/Contents.json +++ b/PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "prohud.trash@2x.png", + "filename" : "demo.message@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "prohud.trash@3x.png", + "filename" : "demo.message@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/demo.message@2x.png b/PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/demo.message@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7bf8c1beda8fe41f36e50b8bc01d27fa775ff3a2 GIT binary patch literal 2355 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 K6J38eIP+hiBUHlx literal 0 HcmV?d00001 diff --git a/PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/demo.message@3x.png b/PHDemo/PHDemo/Assets.xcassets/demo.message.imageset/demo.message@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7436293506f10a4d1aa2bd52047d8ecbd92355b7 GIT binary patch literal 3869 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