From 26d7aa0049ca7ed91021678e5c2b1129925b0e11 Mon Sep 17 00:00:00 2001 From: xaoxuu Date: Fri, 9 Aug 2019 18:02:41 +0800 Subject: [PATCH 1/7] tmp --- Example/Example/ViewController.swift | 215 +++++++++++++++------- ProHUD.xcodeproj/project.pbxproj | 4 + ProHUD/Alert/AlertConfig.swift | 258 ++++++++++++++------------- ProHUD/Alert/AlertController.swift | 173 ++++++------------ ProHUD/Alert/AlertModel.swift | 122 +++++++++---- ProHUD/Alert/AlertView.swift | 1 + ProHUD/Guard/GuardConfig.swift | 11 +- ProHUD/Guard/GuardController.swift | 20 ++- ProHUD/Guard/GuardModel.swift | 80 +++++++++ ProHUD/HUDController.swift | 3 - ProHUD/Toast/ToastController.swift | 4 +- ProHUD/Toast/ToastModel.swift | 3 + 12 files changed, 531 insertions(+), 363 deletions(-) create mode 100644 ProHUD/Guard/GuardModel.swift diff --git a/Example/Example/ViewController.swift b/Example/Example/ViewController.swift index 9df51f8..62dd439 100644 --- a/Example/Example/ViewController.swift +++ b/Example/Example/ViewController.swift @@ -18,8 +18,15 @@ class ViewController: UIViewController { ProHUD.config { (cfg) in cfg.alert { (a) in - a.forceQuitTimer = 2 + a.duration = 1 + a.forceQuitTimer = 3 // a.iconSize = .init(width: 20, height: 80) +// a.reloadData +// a.iconSize = .init(width: 20, height: 80) + a.iconForScene { (s) -> UIImage? in + return UIImage(named: "icon_download") + } + } cfg.toast { (t) in // t.iconSize = .init(width: 300, height: 30) @@ -30,43 +37,134 @@ class ViewController: UIViewController { @IBAction func test(_ sender: UIButton) { - - +// testAlert() + testToast() // testUpdateAction() - testGuard() +// testGuard() // fastGuard() } + func testAlert() { + let a = Alert.push(scene: .loading) { (a) in + +// a.update() + } + a.update { (vm) in + vm.add(action: .default, title: "OK", handler: nil) + } +// a.update() +// Alert.push(scene: .loading, title: "Loading") { (a) in +// a.animate(rotate: true) +// DispatchQueue.main.asyncAfter(deadline: .now()+1) { +// a.update { (vm) in +// vm.message = "请稍后片刻" +// } +// a.animate(rotate: true) +// } +// DispatchQueue.main.asyncAfter(deadline: .now()+2) { +// a.update { (vm) in +// vm.message = "请稍后片刻请稍后片刻" +// } +// a.animate(rotate: true) +// } +// DispatchQueue.main.asyncAfter(deadline: .now()+3) { +// a.update { (vm) in +// vm.scene = .success +// vm.add(action: .default, title: "OK") { [weak a] in +// a?.pop() +// } +// } +// } +// DispatchQueue.main.asyncAfter(deadline: .now()+4) { +// a.update { (vm) in +// vm.update(action: 0, style: .cancel, title: "Cancel", handler: nil) +// } +// } +// } +// Alert.push(scene: .delete, title: "确认删除", message: "此操作不可撤销!此操作不可撤销!此操作不可撤销!") { (a) in +// a.identifier = "" +// DispatchQueue.main.asyncAfter(deadline: .now()+1) { +// a.update { (vm) in +// vm.add(action: .destructive, title: "确认") { [weak a] in +// a?.update({ (vm) in +// vm.message = "但是饭撒 打算放过" +// vm.remove(action: 1) +// vm.update(action: 0, style: .destructive, title: "确认", handler: { +// a?.pop() +// }) +// }) +// } +// vm.add(action: .cancel, title: "取消", handler: nil) +// } +// } +// +// } + } + func testDelete() { - let a = ProHUD.push(alert: .delete, title: "确认删除", message: "此操作不可撤销") - a.add(action: .destructive, title: "确认", action: { [weak a] in - a?.remove(action: 0, 1) - a?.update(scene: .loading, title: "正在删除", message: "请稍后片刻") - DispatchQueue.main.asyncAfter(deadline: .now()+1) { - a?.update(scene: .success, title: "删除成功", message: "啊哈哈哈哈").duration(2) - ProHUD.push(toast: .success, title: "删除成功", message: "aaa") - } - }).add(action: .cancel, title: "取消", action: nil) + let a = Alert.push(scene: .delete, title: "确认删除", message: "此操作不可撤销") + a.update { (vm) in + vm.add(action: .destructive, title: "确认", handler: { [weak a] in + a?.update { (vm) in + vm.scene = .loading + vm.title = "正在删除" + vm.message = "请稍后片刻" + vm.remove(action: 0, 1) + } + DispatchQueue.main.asyncAfter(deadline: .now()+1) { + a?.update { (vm) in + vm.scene = .success + vm.title = "删除成功" + vm.message = "啊哈哈哈哈" + vm.duration = 2 + } + Toast.push(scene: .success, title: "删除成功", message: "aaa") + } + }) + vm.add(action: .cancel, title: "取消", handler: nil) + } + } func testToast() { - let t = ProHUD.Toast(scene: .loading, title: "正在加载", message: "请稍候片刻") + let t = Toast(scene: .loading, title: "正在加载", message: "请稍候片刻") - let a = ProHUD.push(alert : .loading, title: "正在加载", message: "请稍候片刻") + let a = Alert.push(scene : .loading, title: "正在加载", message: "请稍候片刻") a.didForceQuit { - hud.push(t) + t.push() } + t.didTapped { [weak t] in t?.pop() - let a2 = ProHUD.push(alert: .loading, title: "正在加载", message: "马上就要成功了") + Alert.push(scene: .loading, title: "正在加载", message: "马上就要成功了") DispatchQueue.main.asyncAfter(deadline: .now()+1) { - let a3 = ProHUD.push(alert: .error, title: "加载失败", message: "点击充实") - a3.add(action: .default, title: "重新加载") { [weak a3] in - a3?.update(scene: .success, title: "加载成功", message: "马上就要成功了") - a3?.update(action: 0, style: .default, title: "OK", action: { [weak a3] in - a3?.pop() - }).remove(action: 1, 2) - }.add(action: .destructive, title: "终止", action: nil).add(action: .cancel, title: "取消", action: nil) + Alert.push(scene: .error, title: "加载失败", message: "点击充实") { (vm) in + vm.duration = 0 + vm.identifier = "hehe" + let a = vm.vc! + vm.add(action: .default, title: "重新加载") { + a.vm.scene = .success + a.vm.title = "加载成功" + a.vm.message = "马上就要成功了aaaa" + a.vm.remove(action: 1, 2) + a.vm.update(action: 0, style: .default, title: "OK") { [weak a] in + a?.pop() + } + + } + vm.add(action: .destructive, title: "终止", handler: nil) + vm.add(action: .cancel, title: "取消", handler: nil) + } + + DispatchQueue.main.asyncAfter(deadline: .now()+1) { + if let a = Alert.alerts("hehe").last { + a.update { (vm) in + vm.add(action: .cancel, title: "CANCEL", handler: nil) + } + + } + } + } @@ -80,37 +178,47 @@ class ViewController: UIViewController { g.add(title: "呵呵") g.add(message: "请打开相机权限开关,否则无法进行测量。请打开相机权限开关,否则无法进行测量。") - g.add(action: .default, title: "测试弹窗", action: { [weak self] in + g.add(action: .default, title: "测试弹窗", handler: { [weak self] in self?.testToast() }) - g.add(action: .destructive, title: "测试删除弹窗", action: { [weak self] in + g.add(action: .destructive, title: "测试删除弹窗", handler: { [weak self] in self?.testDelete() }) - g.add(action: .cancel, title: "我知道了", action: nil) + g.add(action: .cancel, title: "我知道了", handler: nil) g.push(to: self) debugPrint("test: ", g) } func testUpdateAction() { - let a = ProHUD.push(alert: .confirm, title: "确认删除", message: "此操作无法撤销") - a.add(action: .destructive, title: "删除") { - a.remove(action: 0, 1).update(scene: .loading, title: "正在删除", message: "请稍后片刻") - }.add(action: .cancel, title: "取消", action: nil) + let a = Alert.push(scene: .confirm, title: "确认删除", message: "此操作无法撤销") + a.update { (vm) in + vm.add(action: .destructive, title: "删除") { + a.update { (vm) in + vm.remove(action: 0, 1) + vm.scene = .loading + vm.title = "正在删除" + vm.message = "请稍后片刻" + } + } + vm.add(action: .cancel, title: "取消", handler: nil) + } } func fastGuard() { - let g = ProHUD.push(guard: self, title: "测试", message: "测试测试") - g.add(action: .default, title: "默认按钮", action: { - - }) - g.add(action: .cancel, title: "取消", action: nil) - g.view.backgroundColor = .clear + Guard.push(to: self) { (vm) in + vm.add(title: "测试") + vm.add(message: "测试测试") + vm.add(action: .default, title: "默认按钮", handler: { + + }) + vm.add(action: .cancel, title: "取消", handler: nil) + vm.vc?.view.backgroundColor = .clear + } -// g.contentView.backgroundColor = UIColor.white } @@ -120,37 +228,6 @@ class ViewController: UIViewController { - -// -// ProHUD.show(alert: .loading, title: "确认删除", message: "此操作不可撤销").timeout(nil) -// -// ProHUD.show(alert: .confirm, title: "确认删除", message: "此操作不可撤销").timeout(3) - -// -// a.addAction(style: .destructive, title: "删除") { [weak a] in -// a?.updateContent(scene: .success, title: "操作成功", message: "恭喜,您已经成功删除了xxx") -// a?.updateAction(index: 0, style: .default, title: "好的", action: { -// a?.remove() -// }).removeAction(index: 1) -//// a?.updateContent(scene: .success, title: "操作成功").removeAction(index: -1).timeout(2) -// }.addAction(style: .cancel, title: "取消", action: nil).didDisappear { -// debugPrint("didDisappear") -// } -// -// ProHUD.show(alert: .delete, title: "克里斯蒂娜删除", message: "克里斯蒂娜疯狂拉升的反馈老实交代分开就撒开了击快乐圣诞").addAction(style: .destructive, title: "删除") { -// -// }.addAction(style: .cancel, title: "取消", action: nil).didDisappear { -// debugPrint("didDisappear") -// }.addAction(style: .cancel, title: nil) { -// -// } - - - - -// ProHUD.show(toast: .loading, title: "正在加载", message: "拉升的反馈老实交代分开就撒开了击快乐圣反馈老实交代分开就撒开了击快乐圣") -// ProHUD.show(toast: .loading, title: "正在加载", message: "哈克里斯蒂娜疯狂拉升的反馈老实交代分开就撒开了击快乐圣诞哈克里斯蒂娜疯狂拉升的反馈老实交代分开就撒开了击快乐圣诞") - } } diff --git a/ProHUD.xcodeproj/project.pbxproj b/ProHUD.xcodeproj/project.pbxproj index dde47e4..bd7f55f 100644 --- a/ProHUD.xcodeproj/project.pbxproj +++ b/ProHUD.xcodeproj/project.pbxproj @@ -25,6 +25,7 @@ CD95D26B22E72DB3007559A3 /* ProHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD95D26A22E72DB3007559A3 /* ProHUD.swift */; }; CDB6A07B22EEF06500AF6CF0 /* HUDController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDB6A07A22EEF06500AF6CF0 /* HUDController.swift */; }; CDB6A07D22EEF19D00AF6CF0 /* HUDConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDB6A07C22EEF19D00AF6CF0 /* HUDConfig.swift */; }; + CDC39CFD22FD6DDF0070E914 /* GuardModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDC39CFC22FD6DDF0070E914 /* GuardModel.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -50,6 +51,7 @@ CD95D26A22E72DB3007559A3 /* ProHUD.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProHUD.swift; sourceTree = ""; }; CDB6A07A22EEF06500AF6CF0 /* HUDController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HUDController.swift; sourceTree = ""; }; CDB6A07C22EEF19D00AF6CF0 /* HUDConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HUDConfig.swift; sourceTree = ""; }; + CDC39CFC22FD6DDF0070E914 /* GuardModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuardModel.swift; sourceTree = ""; }; DC31EBFAC56868D6096A233A /* Pods-ProHUD.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ProHUD.release.xcconfig"; path = "Pods/Target Support Files/Pods-ProHUD/Pods-ProHUD.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -110,6 +112,7 @@ CD6CD87422F185C200F4FD4A /* GuardController.swift */, CD6CD87822F185D000F4FD4A /* GuardConfig.swift */, CD6CD87A22F185D600F4FD4A /* GuardView.swift */, + CDC39CFC22FD6DDF0070E914 /* GuardModel.swift */, ); path = Guard; sourceTree = ""; @@ -292,6 +295,7 @@ CD16490B22EF09AB0077988C /* AlertModel.swift in Sources */, CD16491222EF0D900077988C /* HUDView.swift in Sources */, CDB6A07B22EEF06500AF6CF0 /* HUDController.swift in Sources */, + CDC39CFD22FD6DDF0070E914 /* GuardModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ProHUD/Alert/AlertConfig.swift b/ProHUD/Alert/AlertConfig.swift index c166c4d..b11711f 100644 --- a/ProHUD/Alert/AlertConfig.swift +++ b/ProHUD/Alert/AlertConfig.swift @@ -11,7 +11,7 @@ import SnapKit import Inspire public extension ProHUD.Configuration { - struct Alert { + class Alert { // MARK: 卡片样式 /// 最大宽度(用于优化横屏或者iPad显示) public var maxWidth = CGFloat(400) @@ -28,6 +28,10 @@ public extension ProHUD.Configuration { /// 图标尺寸 public var iconSize = CGSize(width: 48, height: 48) + public func iconForScene(_ callback: @escaping (ProHUD.Alert.Scene) -> UIImage?) { + privIconForScene = callback + } + // MARK: 文本样式 /// 标题字体 public var titleFont = UIFont.boldSystemFont(ofSize: 22) @@ -48,18 +52,14 @@ public extension ProHUD.Configuration { // MARK: 生命周期 - /// 加载视图 - /// - Parameter callback: 回调代码 - public mutating func loadSubviews(_ callback: @escaping (ProHUD.Alert) -> Void) { - privLoadSubviews = callback - } - - /// 更新视图 - /// - Parameter callback: 回调代码 - public mutating func reloadData(_ callback: @escaping (ProHUD.Alert) -> Void) { + /// 刷新数据和布局 + public func reloadData(_ callback: @escaping (ProHUD.Alert) -> Void) { privReloadData = callback } + /// 非Loading弹窗的默认持续时间 + public var duration = TimeInterval(2) + /// 多少秒后显示强制退出的按钮(只有无按钮的弹窗才会出现) public var forceQuitTimer = TimeInterval(30) @@ -68,77 +68,41 @@ public extension ProHUD.Configuration { /// 加载强制退出按钮 /// - Parameter callback: 回调代码 - public mutating func loadForceQuitButton(_ callback: @escaping (ProHUD.Alert) -> Void) { + public func loadForceQuitButton(_ callback: @escaping (ProHUD.Alert) -> Void) { privLoadForceQuitButton = callback } + + } +} + + +// MARK: - 内部调用 + +internal extension ProHUD.Configuration.Alert { + var reloadData: (ProHUD.Alert) -> Void { + return privReloadData } } // MARK: - 默认实现 -internal extension ProHUD.Configuration.Alert { - var loadSubviews: (ProHUD.Alert) -> Void { - return privLoadSubviews - } - - var reloadData: (ProHUD.Alert) -> Void { - return privReloadData - } - - var loadForceQuitButton: (ProHUD.Alert) -> Void { - return privLoadForceQuitButton - } - - var setupDefaultDuration: (ProHUD.Alert) -> Void { - return { (vc) in - // 如果设置了超时时间,但是增加了按钮 - if let t = vc.model.duration, t > 0 { - if vc.buttonEvents.count > 0 { - vc.duration(nil) - } - } else if vc.model.duration == nil && vc.model.scene != .loading { - // 如果没有设置超时时间 - vc.duration(2) - } - } - } - - var reloadStack: (ProHUD.Alert) -> Void { - return { (vc) in - if vc.textStack.arrangedSubviews.count > 0 { - vc.contentStack.addArrangedSubview(vc.textStack) - } else { - vc.textStack.removeFromSuperview() - } - if vc.actionStack.arrangedSubviews.count > 0 { - vc.contentStack.addArrangedSubview(vc.actionStack) - } else { - vc.actionStack.removeFromSuperview() - } - } - } -} - -fileprivate var privLoadSubviews: (ProHUD.Alert) -> Void = { +fileprivate var privLayoutContentView: (ProHUD.Alert) -> Void = { return { (vc) in - debug(vc, "loadSubviews") - let config = cfg.alert if vc.contentView.superview == nil { vc.view.addSubview(vc.contentView) - vc.contentView.contentView.addSubview(vc.contentStack) - - vc.contentStack.spacing = cfg.alert.margin + cfg.alert.padding - vc.contentView.layer.masksToBounds = true vc.contentView.layer.cornerRadius = cfg.alert.cornerRadius - let maxWidth = CGFloat.maximum(CGFloat.minimum(UIScreen.main.bounds.width * 0.68, cfg.alert.maxWidth), 268) vc.contentView.snp.makeConstraints { (mk) in mk.center.equalToSuperview() mk.width.lessThanOrEqualTo(maxWidth) } + } + if vc.contentStack.superview == nil { + vc.contentView.contentView.addSubview(vc.contentStack) + vc.contentStack.spacing = cfg.alert.margin + cfg.alert.padding vc.contentStack.snp.makeConstraints { (mk) in mk.centerX.equalToSuperview() mk.top.equalToSuperview().offset(cfg.alert.padding) @@ -147,23 +111,13 @@ fileprivate var privLoadSubviews: (ProHUD.Alert) -> Void = { mk.trailing.equalToSuperview().offset(-cfg.alert.padding) } } - } }() -fileprivate var privReloadData: (ProHUD.Alert) -> Void = { - return { (vc) in - debug(vc, "reloadData") - let config = cfg.alert - let isFirstLayout: Bool - // 图标和文字至少有一个,如果都没有添加到视图中,说明是第一次layout - if vc.textStack.superview == nil && vc.imageView?.superview == nil { - isFirstLayout = true - } else { - isFirstLayout = false - } +fileprivate var privIconForScene: (ProHUD.Alert.Scene) -> UIImage? = { + return { (scene) in let imgStr: String - switch vc.model.scene { + switch scene { case .success: imgStr = "ProHUDSuccess" case .warning: @@ -179,7 +133,14 @@ fileprivate var privReloadData: (ProHUD.Alert) -> Void = { default: imgStr = "ProHUDMessage" } - let img = vc.model.icon ?? ProHUD.image(named: imgStr) + return ProHUD.image(named: imgStr) + } +}() + +fileprivate var privUpdateImage: (ProHUD.Alert) -> Void = { + return { (vc) in + let config = cfg.alert + let img = vc.vm.icon ?? privIconForScene(vc.vm.scene) if let imgv = vc.imageView { imgv.image = img } else { @@ -197,9 +158,13 @@ fileprivate var privReloadData: (ProHUD.Alert) -> Void = { vc.imageView = icon } vc.imageView?.layer.removeAllAnimations() - - // text - if vc.model.title?.count ?? 0 > 0 || vc.model.message?.count ?? 0 > 0 { + } +}() + +fileprivate var privUpdateTextStack: (ProHUD.Alert) -> Void = { + return { (vc) in + let config = cfg.alert + if vc.vm.title?.count ?? 0 > 0 || vc.vm.message?.count ?? 0 > 0 { vc.contentStack.addArrangedSubview(vc.textStack) vc.textStack.snp.makeConstraints { (mk) in mk.top.greaterThanOrEqualTo(vc.contentView).offset(config.padding*1.75) @@ -212,19 +177,19 @@ fileprivate var privReloadData: (ProHUD.Alert) -> Void = { mk.trailing.lessThanOrEqualTo(vc.contentView).offset(-config.padding*2) } } - if vc.model.title?.count ?? 0 > 0 { + if vc.vm.title?.count ?? 0 > 0 { if let lb = vc.titleLabel { - lb.text = vc.model.title + lb.text = vc.vm.title } else { let title = UILabel() title.textAlignment = .center title.numberOfLines = config.titleMaxLines title.textColor = cfg.primaryLabelColor - title.text = vc.model.title + title.text = vc.vm.title vc.textStack.addArrangedSubview(title) vc.titleLabel = title } - if vc.model.message?.count ?? 0 > 0 { + if vc.vm.message?.count ?? 0 > 0 { // 有message vc.titleLabel?.font = config.titleFont } else { @@ -234,20 +199,20 @@ fileprivate var privReloadData: (ProHUD.Alert) -> Void = { } else { vc.titleLabel?.removeFromSuperview() } - if vc.model.message?.count ?? 0 > 0 { + if vc.vm.message?.count ?? 0 > 0 { if let lb = vc.bodyLabel { - lb.text = vc.model.message + lb.text = vc.vm.message } else { let body = UILabel() body.textAlignment = .center body.font = config.bodyFont body.numberOfLines = config.bodyMaxLines body.textColor = cfg.secondaryLabelColor - body.text = vc.model.message + body.text = vc.vm.message vc.textStack.addArrangedSubview(body) vc.bodyLabel = body } - if vc.model.title?.count ?? 0 > 0 { + if vc.vm.title?.count ?? 0 > 0 { // 有title vc.bodyLabel?.font = config.bodyFont } else { @@ -260,48 +225,35 @@ fileprivate var privReloadData: (ProHUD.Alert) -> Void = { } else { vc.textStack.removeFromSuperview() } - if vc.actionStack.superview != nil { - if isFirstLayout { - vc.contentStack.addArrangedSubview(vc.actionStack) - } else { - vc.actionStack.transform = .init(scaleX: 1, y: 0.001) - UIView.animateForAlert { - vc.contentStack.addArrangedSubview(vc.actionStack) - vc.view.layoutIfNeeded() - } - } + vc.textStack.layoutIfNeeded() + } +}() + + +fileprivate var privUpdateActionStack: (ProHUD.Alert) -> Void = { + return { (vc) in + let config = cfg.alert + if vc.buttonEvents.count > 0 { + // 有按钮 + vc.contentStack.addArrangedSubview(vc.actionStack) // 适配横竖屏和iPad - if isPortrait == false { + if isPortrait == false && vc.buttonEvents.count < 4 { vc.actionStack.axis = .horizontal vc.actionStack.alignment = .fill vc.actionStack.distribution = .fillEqually } - vc.actionStack.snp.makeConstraints { (mk) in + vc.actionStack.snp.makeConstraints { (mk) in mk.width.greaterThanOrEqualTo(200) mk.leading.trailing.equalToSuperview() } - if isFirstLayout == false { - UIView.animateForAlert { - vc.actionStack.transform = .identity - } - } - - } - - if isFirstLayout { - vc.view.layoutIfNeeded() - vc.imageView?.transform = .init(scaleX: 0.75, y: 0.75) - UIView.animateForAlert { - vc.imageView?.transform = .identity - vc.view.layoutIfNeeded() - } } else { - UIView.animateForAlert { - vc.view.layoutIfNeeded() + // 无按钮 + for v in vc.actionStack.arrangedSubviews { + v.removeFromSuperview() } + vc.actionStack.removeFromSuperview() } - - + vc.actionStack.layoutIfNeeded() } }() @@ -335,12 +287,74 @@ fileprivate var privLoadForceQuitButton: (ProHUD.Alert) -> Void = { bg.transform = .identity } vc.addTouchUpAction(for: btn) { [weak vc] in - debug("点击了隐藏") - vc?.model.forceQuitCallback?() + debug("点击了【\(config.forceQuitTitle)】") + vc?.vm.forceQuitCallback?() vc?.pop() } } }() - - +/// 刷新数据和布局 +fileprivate var privReloadData: (ProHUD.Alert) -> Void = { + return { (vc) in + debug(vc, "reloadData") + let config = cfg.alert + let isFirstLayout: Bool + if vc.contentView.superview == nil { + isFirstLayout = true + // 布局主容器视图 + privLayoutContentView(vc) + } else { + isFirstLayout = false + } + // 更新图片 + privUpdateImage(vc) + + // 更新文本容器 + privUpdateTextStack(vc) + + // 更新操作容器 + privUpdateActionStack(vc) + vc.contentStack.layoutIfNeeded() + vc.contentView.layoutIfNeeded() + + // 动画 + if isFirstLayout { + vc.view.layoutIfNeeded() + vc.imageView?.transform = .init(scaleX: 0.75, y: 0.75) + UIView.animateForAlert { + vc.view.layoutIfNeeded() + vc.imageView?.transform = .identity + } + } else { + UIView.animateForAlert { + vc.view.layoutIfNeeded() + } + } + + // 设置默认持续时间 + if vc.vm.duration == nil { + if vc.vm.scene == .loading { + vc.vm.duration = 0 + } else { + vc.vm.duration = config.duration + } + } + + // 强制退出按钮 + vc.vm.forceQuitTimerBlock?.cancel() + if vc.buttonEvents.count == 0 { + vc.vm.forceQuitTimerBlock = DispatchWorkItem(block: { [weak vc] in + if let vc = vc { + if vc.buttonEvents.count == 0 { + privLoadForceQuitButton(vc) + } + } + }) + DispatchQueue.main.asyncAfter(deadline: .now() + config.forceQuitTimer, execute: vc.vm.forceQuitTimerBlock!) + } else { + vc.vm.forceQuitTimerBlock = nil + } + + } +}() diff --git a/ProHUD/Alert/AlertController.swift b/ProHUD/Alert/AlertController.swift index 41031ad..b19133b 100644 --- a/ProHUD/Alert/AlertController.swift +++ b/ProHUD/Alert/AlertController.swift @@ -53,28 +53,32 @@ public extension ProHUD { }() /// 视图模型 - public var model = ViewModel() - + public var vm = ViewModel() // MARK: 生命周期 + internal var isLoadFinished = false /// 实例化 /// - Parameter scene: 场景 /// - Parameter title: 标题 /// - Parameter message: 内容 /// - Parameter icon: 图标 - public convenience init(scene: Scene = .default, title: String? = nil, message: String? = nil, icon: UIImage? = nil, actions: ((Alert) -> Void)? = nil) { + public convenience init(scene: Scene = .default, title: String? = nil, message: String? = nil, icon: UIImage? = nil, actions: ((inout ViewModel) -> Void)? = nil) { self.init() - view.tintColor = cfg.alert.tintColor - model.scene = scene - model.title = title - model.message = message - model.icon = icon - actions?(self) - willLayoutSubviews() - + vm.vc = self + vm.scene = scene + vm.title = title + vm.message = message + vm.icon = icon + actions?(&vm) } + public override func viewDidLoad() { + super.viewDidLoad() + view.tintColor = cfg.alert.tintColor + cfg.alert.reloadData(self) + isLoadFinished = true + } } @@ -88,7 +92,6 @@ public extension Alert { /// 推入屏幕 @discardableResult func push() -> Alert { - let hud = ProHUD.shared if Alert.alerts.contains(self) == false { let window = Alert.getAlertWindow(self) window.makeKeyAndVisible() @@ -104,11 +107,6 @@ public extension Alert { Alert.alerts.append(self) } Alert.updateAlertsLayout() - - // setup duration - if let _ = model.duration, model.durationBlock == nil { - duration(model.duration) - } return self } @@ -137,22 +135,11 @@ public extension Alert { // MARK: 设置函数 - /// 添加按钮 - /// - Parameter style: 样式 - /// - Parameter text: 标题 - /// - Parameter handler: 事件处理 - @discardableResult func add(action style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { - let btn = privAddButton(custom: Button.actionButton(title: title), action: handler) - if let b = btn as? Button { - b.update(style: style) - } - return btn - } /// 最小化事件 /// - Parameter callback: 事件回调 @discardableResult func didForceQuit(_ callback: (() -> Void)?) -> Alert { - model.forceQuitCallback = callback + vm.forceQuitCallback = callback return self } @@ -163,77 +150,29 @@ public extension Alert { return self } - /// 设置持续时间 - /// - Parameter duration: 持续时间 - @discardableResult func duration(_ duration: TimeInterval?) -> Alert { - model.setupDuration(duration: duration) { [weak self] in - self?.pop() - } - return self - } - /// 更新 - /// - Parameter scene: 场景 - /// - Parameter title: 标题 - /// - Parameter message: 正文 - @discardableResult func update(scene: Scene, title: String?, message: String?) -> Alert { - model.scene = scene - model.title = title - model.message = message - willLayoutSubviews() - return self - } - - /// 更新图标 - /// - Parameter icon: 图标 - @discardableResult func update(icon: UIImage?) -> Alert { - model.icon = icon + /// - Parameter callback: 回调 + func update(_ callback: ((inout Alert.ViewModel) -> Void)? = nil) { + callback?(&vm) cfg.alert.reloadData(self) - return self } - @discardableResult func animate(rotate: Bool) -> Alert { + func animate(rotate: Bool) { if rotate { DispatchQueue.main.async { let ani = CABasicAnimation(keyPath: "transform.rotation.z") - ani.toValue = M_PI*2.0 - ani.duration = 2 + ani.toValue = Double.pi * 2.0 + ani.duration = 3 ani.repeatCount = 10000 self.imageView?.layer.add(ani, forKey: "rotationAnimation") } } else { imageView?.layer.removeAllAnimations() } - return self } - /// 更新按钮 - /// - Parameter index: 索引 - /// - Parameter style: 样式 - /// - Parameter title: 标题 - /// - Parameter action: 事件 - @discardableResult func update(action index: Int, style: UIAlertAction.Style, title: String?, action: (() -> Void)?) -> Alert { - if index < self.actionStack.arrangedSubviews.count, let btn = self.actionStack.arrangedSubviews[index] as? UIButton { - btn.setTitle(title, for: .normal) - if let b = btn as? Button { - b.update(style: style) - } - btn.layoutIfNeeded() - if let ac = action { - addTouchUpAction(for: btn, action: ac) - } - } - return self - } - /// 移除按钮 - /// - Parameter index: 索引 - @discardableResult func remove(action index: Int...) -> Alert { - for (i, idx) in index.enumerated() { - privRemoveAction(index: idx-i) - } - return self - } + } @@ -247,7 +186,7 @@ public extension Alert { /// - Parameter title: 标题 /// - Parameter message: 正文 /// - Parameter actions: 更多操作 - @discardableResult class func push(alert scene: Alert.Scene, title: String? = nil, message: String? = nil, actions: ((Alert) -> Void)? = nil) -> Alert { + @discardableResult class func push(scene: Alert.Scene, title: String? = nil, message: String? = nil, actions: ((inout Alert.ViewModel) -> Void)? = nil) -> Alert { return Alert(scene: scene, title: title, message: message, actions: actions).push() } @@ -256,7 +195,7 @@ public extension Alert { class func alerts(_ identifier: String?) -> [Alert] { var aa = [Alert]() for a in Alert.alerts { - if a.identifier == identifier { + if a.vm.identifier == identifier { aa.append(a) } } @@ -281,7 +220,7 @@ public extension Alert { // MARK: - 私有 -fileprivate extension Alert { +internal extension Alert { /// 移除按钮 /// - Parameter index: 索引 @@ -298,52 +237,56 @@ fileprivate extension Alert { if self.actionStack.arrangedSubviews.count == 0 { self.actionStack.removeFromSuperview() } - willLayoutSubviews() UIView.animateForAlert { self.view.layoutIfNeeded() } return self } - func willLayoutSubviews() { - model.setupWillLayout(duration: 0.001) { [weak self] in - if let a = self { - // 布局 - cfg.alert.loadSubviews(a) - cfg.alert.reloadData(a) - cfg.alert.setupDefaultDuration(a) - // 强制退出按钮 - a.model.setupForceQuit(duration: cfg.alert.forceQuitTimer) { [weak self] in - if let aa = self, aa.actionStack.superview == nil { - cfg.alert.loadForceQuitButton(aa) - } - } - } - } - } - - @discardableResult func privAddButton(custom button: UIButton, action: (() -> Void)?) -> UIButton { - model.duration = nil + @discardableResult func privAddButton(custom button: UIButton, at index: Int? = nil, handler: (() -> Void)?) -> UIButton { if actionStack.superview == nil { contentStack.addArrangedSubview(actionStack) + contentStack.layoutIfNeeded() } - self.view.layoutIfNeeded() - button.transform = .init(scaleX: 1, y: 0.001) - actionStack.addArrangedSubview(button) - UIView.animateForAlert { - button.transform = .identity - self.view.layoutIfNeeded() + if let idx = index, idx < actionStack.arrangedSubviews.count { + actionStack.insertArrangedSubview(button, at: idx) + } else { + actionStack.addArrangedSubview(button) } + addTouchUpAction(for: button) { [weak self] in - action?() + handler?() if button.tag == UIAlertAction.Style.cancel.rawValue { self?.pop() } } - willLayoutSubviews() + if isLoadFinished { + actionStack.layoutIfNeeded() + UIView.animateForAlert { + self.view.layoutIfNeeded() + } + } return button } + func privUpdateButton(action index: Int, style: UIAlertAction.Style, title: String?, _ handler: (() -> Void)?) { + if index < self.actionStack.arrangedSubviews.count, let btn = self.actionStack.arrangedSubviews[index] as? UIButton { + btn.setTitle(title, for: .normal) + if let b = btn as? Button { + b.update(style: style) + } + if let _ = buttonEvents[btn] { + buttonEvents.removeValue(forKey: btn) + } + addTouchUpAction(for: btn) { [weak self] in + handler?() + if btn.tag == UIAlertAction.Style.cancel.rawValue { + self?.pop() + } + } + } + } + } fileprivate extension Alert { diff --git a/ProHUD/Alert/AlertModel.swift b/ProHUD/Alert/AlertModel.swift index ca210b0..eaa8223 100644 --- a/ProHUD/Alert/AlertModel.swift +++ b/ProHUD/Alert/AlertModel.swift @@ -35,20 +35,50 @@ public extension Alert { struct ViewModel { + /// ID标识 + public var identifier = String(Date().timeIntervalSince1970) + /// 使用场景 public var scene = Scene.default /// 标题 - public var title: String? + public var title: String? { + didSet { + vc?.titleLabel?.text = title + } + } /// 正文 - public var message: String? + public var message: String? { + didSet { + vc?.bodyLabel?.text = message + } + } /// 图标 - public var icon: UIImage? + public var icon: UIImage? { + didSet { + vc?.imageView?.image = icon + } + } - /// 持续时间 - internal var duration: TimeInterval? + /// 持续时间(为空代表根据场景不同的默认配置,为0代表无穷大) + public var duration: TimeInterval? { + didSet { + durationBlock?.cancel() + if let t = duration, t > 0 { + let v = vc + durationBlock = DispatchWorkItem(block: { + v?.pop() + }) + DispatchQueue.main.asyncAfter(deadline: .now()+t, execute: durationBlock!) + } else { + durationBlock = nil + } + } + } + + public weak var vc: Alert? /// 持续时间 internal var durationBlock: DispatchWorkItem? @@ -59,40 +89,56 @@ public extension Alert { /// 强制退出代码 internal var forceQuitCallback: (() -> Void)? - internal var willLayoutBlock: DispatchWorkItem? - - internal mutating func setupDuration(duration: TimeInterval?, callback: @escaping () -> Void) { - self.duration = duration - durationBlock?.cancel() - if let t = duration, t > 0 { - durationBlock = DispatchWorkItem(block: callback) - DispatchQueue.main.asyncAfter(deadline: .now()+t, execute: durationBlock!) - } else { - durationBlock = nil - } - } - - internal mutating func setupForceQuit(duration: TimeInterval?, callback: @escaping () -> Void) { - forceQuitTimerBlock?.cancel() - if let t = duration, t > 0 { - forceQuitTimerBlock = DispatchWorkItem(block: callback) - DispatchQueue.main.asyncAfter(deadline: .now()+t, execute: forceQuitTimerBlock!) - } else { - forceQuitTimerBlock = nil - } - } - - internal mutating func setupWillLayout(duration: TimeInterval?, callback: @escaping () -> Void) { - willLayoutBlock?.cancel() - if let t = duration, t > 0 { - willLayoutBlock = DispatchWorkItem(block: callback) - DispatchQueue.main.asyncAfter(deadline: .now()+t, execute: willLayoutBlock!) - } else { - willLayoutBlock = nil - } - } - } } +public extension Alert.ViewModel { + + /// 添加按钮 + /// - Parameter style: 样式 + /// - Parameter text: 标题 + /// - Parameter handler: 事件处理 + @discardableResult mutating func add(action style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + duration = 0 + let btn = vc?.privAddButton(custom: Alert.Button.actionButton(title: title), handler: handler) + if let b = btn as? Alert.Button { + b.update(style: style) + } + return btn! + } + + /// 插入按钮 + /// - Parameter index: 索引 + /// - Parameter style: 样式 + /// - Parameter title: 标题 + /// - Parameter handler: 事件处理 + @discardableResult mutating func insert(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + duration = 0 + let btn = vc?.privAddButton(custom: Alert.Button.actionButton(title: title), at: index, handler: handler) + if let b = btn as? Alert.Button { + b.update(style: style) + } + return btn! + } + + /// 更新按钮 + /// - Parameter index: 索引 + /// - Parameter style: 样式 + /// - Parameter title: 标题 + /// - Parameter handler: 事件处理 + mutating func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { + vc?.privUpdateButton(action: index, style: style, title: title, handler) + } + + /// 移除按钮 + /// - Parameter index: 索引 + mutating func remove(action index: Int...) { + guard let alert = self.vc else { return } + for (i, idx) in index.enumerated() { + alert.privRemoveAction(index: idx-i) + } + } + + +} diff --git a/ProHUD/Alert/AlertView.swift b/ProHUD/Alert/AlertView.swift index a384214..607c668 100644 --- a/ProHUD/Alert/AlertView.swift +++ b/ProHUD/Alert/AlertView.swift @@ -24,6 +24,7 @@ internal extension Alert { backgroundColor = cfg.dynamicColor.withAlphaComponent(0.04) contentEdgeInsets = .init(top: pd*1.5, left: pd*1.5, bottom: pd*1.5, right: pd*1.5) } else { + backgroundColor = .clear contentEdgeInsets = .init(top: pd*0.5, left: pd*1.5, bottom: pd*0.5, right: pd*1.5) } switch style { diff --git a/ProHUD/Guard/GuardConfig.swift b/ProHUD/Guard/GuardConfig.swift index 8e4b61e..bcb3ccd 100644 --- a/ProHUD/Guard/GuardConfig.swift +++ b/ProHUD/Guard/GuardConfig.swift @@ -86,11 +86,7 @@ fileprivate var privLoadSubviews: (ProHUD.Guard) -> Void = { return { (vc) in debug(vc, "loadSubviews") let config = cfg.guard - // background - vc.view.tintColor = config.tintColor - vc.view.backgroundColor = UIColor(white: 0, alpha: 0) - vc.view.addSubview(vc.contentView) - vc.contentView.contentView.addSubview(vc.contentStack) + } }() @@ -98,6 +94,11 @@ fileprivate var privReloadData: (ProHUD.Guard) -> Void = { return { (vc) in debug(vc, "reloadData") let config = cfg.guard + // background + vc.view.tintColor = config.tintColor + vc.view.backgroundColor = UIColor(white: 0, alpha: 0) + vc.view.addSubview(vc.contentView) + vc.contentView.contentView.addSubview(vc.contentStack) // 更新布局 var width = UIScreen.main.bounds.width if width > config.cardMaxWidth { diff --git a/ProHUD/Guard/GuardController.swift b/ProHUD/Guard/GuardController.swift index 485fc96..04f2ba9 100644 --- a/ProHUD/Guard/GuardController.swift +++ b/ProHUD/Guard/GuardController.swift @@ -50,23 +50,26 @@ public extension ProHUD { /// 背景颜色 public var backgroundColor: UIColor? = UIColor(white: 0, alpha: 0.5) + public var vm = ViewModel() + // MARK: 生命周期 /// 实例化 /// - Parameter title: 标题 /// - Parameter message: 内容 /// - Parameter actions: 更多操作 - public convenience init(title: String? = nil, message: String? = nil, actions: ((Guard) -> Void)? = nil) { + public convenience init(title: String? = nil, message: String? = nil, actions: ((inout ViewModel) -> Void)? = nil) { self.init() - - view.tintColor = cfg.guard.tintColor + vm.vc = self if let _ = title { add(title: title) } if let _ = message { add(message: message) } - actions?(self) + actions?(&vm) + + view.tintColor = cfg.guard.tintColor cfg.guard.loadSubviews(self) cfg.guard.reloadData(self) cfg.guard.reloadStack(self) @@ -91,7 +94,7 @@ public extension Guard { /// 推入某个视图控制器 /// - Parameter viewController: 视图控制器 - func push(to viewController: UIViewController? = nil) -> Guard { + @discardableResult func push(to viewController: UIViewController? = nil) -> Guard { func f(_ vc: UIViewController) { view.layoutIfNeeded() vc.addChild(self) @@ -226,7 +229,7 @@ public extension Guard { /// - Parameter title: 标题 /// - Parameter message: 正文 /// - Parameter icon: 图标 - @discardableResult class func push(to viewController: UIViewController? = nil, actions: ((Guard) -> Void)? = nil) -> Guard { + @discardableResult class func push(to viewController: UIViewController? = nil, actions: ((inout ViewModel) -> Void)? = nil) -> Guard { return Guard(actions: actions).push(to: viewController) } @@ -239,7 +242,7 @@ public extension Guard { if child.isKind(of: Guard.self) { if let g = child as? Guard { if let id = identifier { - if g.identifier == id { + if g.vm.identifier == id { gg.append(g) } } else { @@ -272,7 +275,7 @@ public extension Guard { // MARK: - 私有 -fileprivate extension Guard { +internal extension Guard { /// 点击事件 /// - Parameter sender: 手势 @@ -317,6 +320,5 @@ fileprivate extension Guard { } - } diff --git a/ProHUD/Guard/GuardModel.swift b/ProHUD/Guard/GuardModel.swift new file mode 100644 index 0000000..e9e483a --- /dev/null +++ b/ProHUD/Guard/GuardModel.swift @@ -0,0 +1,80 @@ +// +// GuardModel.swift +// ProHUD +// +// Created by xaoxuu on 2019/8/9. +// Copyright © 2019 Titan Studio. All rights reserved. +// + +import UIKit + +public extension Guard { + + struct ViewModel { + + /// ID标识 + public var identifier = String(Date().timeIntervalSince1970) + + public weak var vc: Guard? + + } + +} + +public extension Guard.ViewModel { + + /// 加载一个标题 + /// - Parameter text: 文本 + @discardableResult func add(title: String?) -> UILabel { + return vc!.add(title: title) + } + + /// 加载一个副标题 + /// - Parameter text: 文本 + @discardableResult func add(subTitle: String?) -> UILabel { + return vc!.add(subTitle: subTitle) + } + + /// 加载一段正文 + /// - Parameter text: 文本 + @discardableResult func add(message: String?) -> UILabel { + return vc!.add(message: message) + } + + /// 加载一个按钮 + /// - Parameter style: 样式 + /// - Parameter title: 标题 + /// - Parameter action: 事件 + @discardableResult func add(action style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + return vc!.add(action: style, title: title, handler: handler) + } + + /// 插入按钮 + /// - Parameter index: 索引 + /// - Parameter style: 样式 + /// - Parameter title: 标题 + /// - Parameter handler: 事件处理 + @discardableResult mutating func insert(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + + return UIButton() + } + + /// 更新按钮 + /// - Parameter index: 索引 + /// - Parameter style: 样式 + /// - Parameter title: 标题 + /// - Parameter handler: 事件处理 + mutating func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { + // vc?.privUpdateButton(action: index, style: style, title: title, handler) + } + + /// 移除按钮 + /// - Parameter index: 索引 + func remove(action index: Int...) { + for (i, idx) in index.enumerated() { + vc!.privRemoveAction(index: idx-i) + } + } + + +} diff --git a/ProHUD/HUDController.swift b/ProHUD/HUDController.swift index bf6e53f..af7b0a5 100644 --- a/ProHUD/HUDController.swift +++ b/ProHUD/HUDController.swift @@ -10,9 +10,6 @@ import UIKit public class HUDController: UIViewController { - /// ID标识 - public var identifier = String(Date().timeIntervalSince1970) - /// 消失回调 internal var disappearCallback: (() -> Void)? diff --git a/ProHUD/Toast/ToastController.swift b/ProHUD/Toast/ToastController.swift index dadcbee..dd62b52 100644 --- a/ProHUD/Toast/ToastController.swift +++ b/ProHUD/Toast/ToastController.swift @@ -243,7 +243,7 @@ public extension Toast { /// - Parameter title: 标题 /// - Parameter message: 内容 /// - Parameter actions: 更多操作 - @discardableResult class func push(toast scene: Toast.Scene, title: String? = nil, message: String? = nil, actions: ((Toast) -> Void)? = nil) -> Toast { + @discardableResult class func push(scene: Toast.Scene, title: String? = nil, message: String? = nil, actions: ((Toast) -> Void)? = nil) -> Toast { return Toast(scene: scene, title: title, message: message, actions: actions).push() } @@ -252,7 +252,7 @@ public extension Toast { class func toasts(_ identifier: String?) -> [Toast] { var tt = [Toast]() for t in toasts { - if t.identifier == identifier { + if t.model.identifier == identifier { tt.append(t) } } diff --git a/ProHUD/Toast/ToastModel.swift b/ProHUD/Toast/ToastModel.swift index 2cafc4a..f3ad850 100644 --- a/ProHUD/Toast/ToastModel.swift +++ b/ProHUD/Toast/ToastModel.swift @@ -35,6 +35,9 @@ public extension Toast { struct ViewModel { + /// ID标识 + public var identifier = String(Date().timeIntervalSince1970) + /// 使用场景 public var scene = Scene.default From ca6c36650b7f063c8ad3909c4766a9586f93d8fb Mon Sep 17 00:00:00 2001 From: xaoxuu Date: Mon, 12 Aug 2019 15:02:36 +0800 Subject: [PATCH 2/7] update --- Example/Example/AppDelegate.swift | 2 - Example/Example/ViewController.swift | 155 +++++++++++------ ProHUD.xcodeproj/project.pbxproj | 12 -- ProHUD/Alert/AlertConfig.swift | 14 +- ProHUD/Alert/AlertController.swift | 115 ++++++------- ProHUD/Alert/AlertModel.swift | 34 ++-- ProHUD/Alert/AlertView.swift | 55 ------ ProHUD/Guard/GuardConfig.swift | 44 ++--- ProHUD/Guard/GuardController.swift | 245 +++++++++++++++------------ ProHUD/Guard/GuardModel.swift | 15 +- ProHUD/Guard/GuardView.swift | 46 ----- ProHUD/HUDConfig.swift | 48 ++++-- ProHUD/HUDView.swift | 113 +++++++++--- ProHUD/Toast/ToastConfig.swift | 103 +++++------ ProHUD/Toast/ToastController.swift | 175 +++++++------------ ProHUD/Toast/ToastModel.swift | 64 ++++--- ProHUD/Toast/ToastView.swift | 9 - 17 files changed, 608 insertions(+), 641 deletions(-) delete mode 100644 ProHUD/Alert/AlertView.swift delete mode 100644 ProHUD/Guard/GuardView.swift delete mode 100644 ProHUD/Toast/ToastView.swift diff --git a/Example/Example/AppDelegate.swift b/Example/Example/AppDelegate.swift index dd25882..3acc6da 100644 --- a/Example/Example/AppDelegate.swift +++ b/Example/Example/AppDelegate.swift @@ -22,8 +22,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { - - return true } diff --git a/Example/Example/ViewController.swift b/Example/Example/ViewController.swift index 62dd439..3838190 100644 --- a/Example/Example/ViewController.swift +++ b/Example/Example/ViewController.swift @@ -17,6 +17,8 @@ class ViewController: UIViewController { ProHUD.config { (cfg) in + cfg.rootViewController = self + cfg.alert { (a) in a.duration = 1 a.forceQuitTimer = 3 @@ -29,7 +31,11 @@ class ViewController: UIViewController { } cfg.toast { (t) in -// t.iconSize = .init(width: 300, height: 30) +// t.iconSize = .init(width: 30, height: 30) +// t.iconForScene { (scene) -> UIImage? in +// return UIImage(named: "icon_download") +// } + } } @@ -51,6 +57,7 @@ class ViewController: UIViewController { } a.update { (vm) in vm.add(action: .default, title: "OK", handler: nil) + } // a.update() // Alert.push(scene: .loading, title: "Loading") { (a) in @@ -127,67 +134,107 @@ class ViewController: UIViewController { } func testToast() { - let t = Toast(scene: .loading, title: "正在加载", message: "请稍候片刻") - - let a = Alert.push(scene : .loading, title: "正在加载", message: "请稍候片刻") - a.didForceQuit { - t.push() - } - - t.didTapped { [weak t] in - t?.pop() - Alert.push(scene: .loading, title: "正在加载", message: "马上就要成功了") - DispatchQueue.main.asyncAfter(deadline: .now()+1) { - Alert.push(scene: .error, title: "加载失败", message: "点击充实") { (vm) in - vm.duration = 0 - vm.identifier = "hehe" - let a = vm.vc! - vm.add(action: .default, title: "重新加载") { - a.vm.scene = .success - a.vm.title = "加载成功" - a.vm.message = "马上就要成功了aaaa" - a.vm.remove(action: 1, 2) - a.vm.update(action: 0, style: .default, title: "OK") { [weak a] in - a?.pop() - } - - } - vm.add(action: .destructive, title: "终止", handler: nil) - vm.add(action: .cancel, title: "取消", handler: nil) - } - - DispatchQueue.main.asyncAfter(deadline: .now()+1) { - if let a = Alert.alerts("hehe").last { - a.update { (vm) in - vm.add(action: .cancel, title: "CANCEL", handler: nil) - } - - } - } - + func f() { + Toast.push { (vm) in + vm.scene = .error + vm.title = "正在加载" + // vm.duration = 1 + vm.message = "请稍候片刻" + }.didTapped { + debugPrint("didTapped") + }.didDisappear { + debugPrint("didDisappear") } - } + f() + + +// let t = Toast(scene: .loading, title: "正在加载", message: "请稍候片刻") + +// let a = Alert.push(scene : .loading, title: "正在加载", message: "请稍候片刻") +// a.didForceQuit { +// t.push() +// } +// +// t.didTapped { [weak t] in +// t?.pop() +// Alert.push(scene: .loading, title: "正在加载", message: "马上就要成功了") +// DispatchQueue.main.asyncAfter(deadline: .now()+1) { +// Alert.push(scene: .error, title: "加载失败", message: "点击充实") { (vm) in +// vm.duration = 0 +// vm.identifier = "hehe" +// let a = vm.vc! +// vm.add(action: .default, title: "重新加载") { +// a.vm.scene = .success +// a.vm.title = "加载成功" +// a.vm.message = "马上就要成功了aaaa" +// a.vm.remove(action: 1, 2) +// a.vm.update(action: 0, style: .default, title: "OK") { [weak a] in +// a?.pop() +// } +// +// } +// vm.add(action: .destructive, title: "终止", handler: nil) +// vm.add(action: .cancel, title: "取消", handler: nil) +// } +// +// DispatchQueue.main.asyncAfter(deadline: .now()+1) { +// if let a = Alert.alerts("hehe").last { +// a.update { (vm) in +// vm.add(action: .cancel, title: "CANCEL", handler: nil) +// } +// +// } +// } +// +// +// } +// +// } + } func testGuard() { - let g = ProHUD.Guard(title: "请求权限", message: "请打开相机权限开关,否则无法进行测量。") - - g.add(title: "呵呵") - g.add(message: "请打开相机权限开关,否则无法进行测量。请打开相机权限开关,否则无法进行测量。") - g.add(action: .default, title: "测试弹窗", handler: { [weak self] in - self?.testToast() - }) - g.add(action: .destructive, title: "测试删除弹窗", handler: { [weak self] in - self?.testDelete() - }) - g.add(action: .cancel, title: "我知道了", handler: nil) - - g.push(to: self) - debugPrint("test: ", g) + Guard.push { (vm) in + vm.add(title: "大标题") + vm.add(subTitle: "副标题") + vm.add(message: "请打开相机权限开关,否则无法进行测量。请打开相机权限开关,否则无法进行测量。") + vm.add(action: .default, title: "OK") { [weak vm] in + vm?.insert(action: 0, style: .destructive, title: "Del") { [weak vm] in + vm?.update(action: 0, style: .destructive, title: "Delete") { + vm?.remove(action: 0) + } + } + } + vm.insert(action: 0, style: .destructive, title: "Del") { [weak vm] in + + vm?.update(action: 0, style: .destructive, title: "Delete") { + vm?.remove(action: 0) + } + } + vm.add(action: .cancel, title: "Cancel") { + + } + + + } +// let g = ProHUD.Guard(title: "请求权限", message: "请打开相机权限开关,否则无法进行测量。") +// +// g.add(title: "呵呵") +// g.add(message: "请打开相机权限开关,否则无法进行测量。请打开相机权限开关,否则无法进行测量。") +// g.add(action: .default, title: "测试弹窗", handler: { [weak self] in +// self?.testToast() +// }) +// g.add(action: .destructive, title: "测试删除弹窗", handler: { [weak self] in +// self?.testDelete() +// }) +// g.add(action: .cancel, title: "我知道了", handler: nil) +// +// g.push(to: self) +// debugPrint("test: ", g) } func testUpdateAction() { diff --git a/ProHUD.xcodeproj/project.pbxproj b/ProHUD.xcodeproj/project.pbxproj index bd7f55f..a8e2f4c 100644 --- a/ProHUD.xcodeproj/project.pbxproj +++ b/ProHUD.xcodeproj/project.pbxproj @@ -10,16 +10,13 @@ 1AE9C44ABAF3F797A5518CE8 /* Pods_ProHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2011798511AD590A613E54E /* Pods_ProHUD.framework */; }; CD16490B22EF09AB0077988C /* AlertModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD16490A22EF09AB0077988C /* AlertModel.swift */; }; CD16490D22EF09B40077988C /* AlertConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD16490C22EF09B40077988C /* AlertConfig.swift */; }; - CD16490F22EF09D50077988C /* AlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD16490E22EF09D50077988C /* AlertView.swift */; }; CD16491222EF0D900077988C /* HUDView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD16491122EF0D900077988C /* HUDView.swift */; }; CD16491422EF12220077988C /* ProHUD.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD16491322EF12220077988C /* ProHUD.xcassets */; }; CD6CD86C22F1858F00F4FD4A /* ToastModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6CD86B22F1858F00F4FD4A /* ToastModel.swift */; }; - CD6CD86E22F185A000F4FD4A /* ToastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6CD86D22F185A000F4FD4A /* ToastView.swift */; }; CD6CD87022F185A700F4FD4A /* ToastController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6CD86F22F185A700F4FD4A /* ToastController.swift */; }; CD6CD87222F185AF00F4FD4A /* ToastConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6CD87122F185AF00F4FD4A /* ToastConfig.swift */; }; CD6CD87522F185C200F4FD4A /* GuardController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6CD87422F185C200F4FD4A /* GuardController.swift */; }; CD6CD87922F185D000F4FD4A /* GuardConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6CD87822F185D000F4FD4A /* GuardConfig.swift */; }; - CD6CD87B22F185D600F4FD4A /* GuardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD6CD87A22F185D600F4FD4A /* GuardView.swift */; }; CD95D22122E72C4C007559A3 /* ProHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = CD95D21F22E72C4C007559A3 /* ProHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; CD95D26922E72DA1007559A3 /* AlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD95D26822E72DA1007559A3 /* AlertController.swift */; }; CD95D26B22E72DB3007559A3 /* ProHUD.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD95D26A22E72DB3007559A3 /* ProHUD.swift */; }; @@ -33,16 +30,13 @@ C2011798511AD590A613E54E /* Pods_ProHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ProHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CD16490A22EF09AB0077988C /* AlertModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertModel.swift; sourceTree = ""; }; CD16490C22EF09B40077988C /* AlertConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertConfig.swift; sourceTree = ""; }; - CD16490E22EF09D50077988C /* AlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertView.swift; sourceTree = ""; }; CD16491122EF0D900077988C /* HUDView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HUDView.swift; sourceTree = ""; }; CD16491322EF12220077988C /* ProHUD.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = ProHUD.xcassets; sourceTree = ""; }; CD6CD86B22F1858F00F4FD4A /* ToastModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToastModel.swift; sourceTree = ""; }; - CD6CD86D22F185A000F4FD4A /* ToastView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToastView.swift; sourceTree = ""; }; CD6CD86F22F185A700F4FD4A /* ToastController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToastController.swift; sourceTree = ""; }; CD6CD87122F185AF00F4FD4A /* ToastConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToastConfig.swift; sourceTree = ""; }; CD6CD87422F185C200F4FD4A /* GuardController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuardController.swift; sourceTree = ""; }; CD6CD87822F185D000F4FD4A /* GuardConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuardConfig.swift; sourceTree = ""; }; - CD6CD87A22F185D600F4FD4A /* GuardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GuardView.swift; sourceTree = ""; }; CD95D21C22E72C4C007559A3 /* ProHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ProHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CD95D21F22E72C4C007559A3 /* ProHUD.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ProHUD.h; sourceTree = ""; }; CD95D22022E72C4C007559A3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -90,7 +84,6 @@ CD95D26822E72DA1007559A3 /* AlertController.swift */, CD16490A22EF09AB0077988C /* AlertModel.swift */, CD16490C22EF09B40077988C /* AlertConfig.swift */, - CD16490E22EF09D50077988C /* AlertView.swift */, ); path = Alert; sourceTree = ""; @@ -99,7 +92,6 @@ isa = PBXGroup; children = ( CD6CD86B22F1858F00F4FD4A /* ToastModel.swift */, - CD6CD86D22F185A000F4FD4A /* ToastView.swift */, CD6CD86F22F185A700F4FD4A /* ToastController.swift */, CD6CD87122F185AF00F4FD4A /* ToastConfig.swift */, ); @@ -111,7 +103,6 @@ children = ( CD6CD87422F185C200F4FD4A /* GuardController.swift */, CD6CD87822F185D000F4FD4A /* GuardConfig.swift */, - CD6CD87A22F185D600F4FD4A /* GuardView.swift */, CDC39CFC22FD6DDF0070E914 /* GuardModel.swift */, ); path = Guard; @@ -280,12 +271,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CD6CD87B22F185D600F4FD4A /* GuardView.swift in Sources */, CD95D26922E72DA1007559A3 /* AlertController.swift in Sources */, CD6CD87922F185D000F4FD4A /* GuardConfig.swift in Sources */, CDB6A07D22EEF19D00AF6CF0 /* HUDConfig.swift in Sources */, - CD16490F22EF09D50077988C /* AlertView.swift in Sources */, - CD6CD86E22F185A000F4FD4A /* ToastView.swift in Sources */, CD6CD87222F185AF00F4FD4A /* ToastConfig.swift in Sources */, CD6CD87522F185C200F4FD4A /* GuardController.swift in Sources */, CD6CD87022F185A700F4FD4A /* ToastController.swift in Sources */, diff --git a/ProHUD/Alert/AlertConfig.swift b/ProHUD/Alert/AlertConfig.swift index b11711f..0d075e6 100644 --- a/ProHUD/Alert/AlertConfig.swift +++ b/ProHUD/Alert/AlertConfig.swift @@ -22,12 +22,14 @@ public extension ProHUD.Configuration { /// 填充:元素内部控件距离元素边界的距离 public var padding = CGFloat(16) - // MARK: 图标样式 - /// 图标、default按钮的颜色 + /// 颜色 public var tintColor: UIColor? + + // MARK: 图标样式 /// 图标尺寸 public var iconSize = CGSize(width: 48, height: 48) - + /// 某个场景的默认图片 + /// - Parameter callback: 回调 public func iconForScene(_ callback: @escaping (ProHUD.Alert.Scene) -> UIImage?) { privIconForScene = callback } @@ -38,7 +40,7 @@ public extension ProHUD.Configuration { /// 标题最多行数 public var titleMaxLines = Int(1) - /// 加粗正文字体(如果只有标题或者只有正文,则显示这种字体) + /// 加粗字体(如果只有标题或者只有正文,则显示这种字体) public var boldTextFont = UIFont.boldSystemFont(ofSize: 18) /// 正文字体 @@ -78,7 +80,6 @@ public extension ProHUD.Configuration { // MARK: - 内部调用 - internal extension ProHUD.Configuration.Alert { var reloadData: (ProHUD.Alert) -> Void { return privReloadData @@ -87,7 +88,6 @@ internal extension ProHUD.Configuration.Alert { // MARK: - 默认实现 - fileprivate var privLayoutContentView: (ProHUD.Alert) -> Void = { return { (vc) in if vc.contentView.superview == nil { @@ -263,7 +263,7 @@ fileprivate var privLoadForceQuitButton: (ProHUD.Alert) -> Void = { let config = cfg.alert let btn = ProHUD.Alert.Button.forceQuitButton() btn.setTitle(cfg.alert.forceQuitTitle, for: .normal) - let bg = ProHUD.BlurView() + let bg = createBlurView() bg.layer.masksToBounds = true bg.layer.cornerRadius = config.cornerRadius if let last = vc.view.subviews.last { diff --git a/ProHUD/Alert/AlertController.swift b/ProHUD/Alert/AlertController.swift index b19133b..d93e879 100644 --- a/ProHUD/Alert/AlertController.swift +++ b/ProHUD/Alert/AlertController.swift @@ -19,7 +19,7 @@ public extension ProHUD { internal static var alertWindow: UIWindow? /// 内容视图 - public var contentView = BlurView() + public var contentView = createBlurView() /// 内容容器(包括icon、textStack、actionStack) public var contentStack: StackContainer = { @@ -88,12 +88,10 @@ public extension ProHUD { public extension Alert { - // MARK: 生命周期函数 - /// 推入屏幕 @discardableResult func push() -> Alert { if Alert.alerts.contains(self) == false { - let window = Alert.getAlertWindow(self) + let window = Alert.privGetAlertWindow(self) window.makeKeyAndVisible() window.resignKey() window.addSubview(view) @@ -106,14 +104,14 @@ public extension Alert { } Alert.alerts.append(self) } - Alert.updateAlertsLayout() + Alert.privUpdateAlertsLayout() return self } /// 弹出屏幕 func pop() { - let window = Alert.getAlertWindow(self) - Alert.removeItemFromArray(alert: self) + let window = Alert.privGetAlertWindow(self) + Alert.privRemoveItemFromArray(alert: self) UIView.animateForAlertBuildOut(animations: { self.view.alpha = 0 self.view.transform = .init(scaleX: 1.08, y: 1.08) @@ -132,29 +130,24 @@ public extension Alert { } } - - // MARK: 设置函数 + /// 更新 + /// - Parameter callback: 回调 + func update(_ callback: ((inout ViewModel) -> Void)? = nil) { + callback?(&vm) + cfg.alert.reloadData(self) + } /// 最小化事件 /// - Parameter callback: 事件回调 - @discardableResult func didForceQuit(_ callback: (() -> Void)?) -> Alert { + func didForceQuit(_ callback: (() -> Void)?) { vm.forceQuitCallback = callback - return self } /// 消失事件 /// - Parameter callback: 事件回调 - @discardableResult func didDisappear(_ callback: (() -> Void)?) -> Alert { + func didDisappear(_ callback: (() -> Void)?) { disappearCallback = callback - return self - } - - /// 更新 - /// - Parameter callback: 回调 - func update(_ callback: ((inout Alert.ViewModel) -> Void)? = nil) { - callback?(&vm) - cfg.alert.reloadData(self) } func animate(rotate: Bool) { @@ -177,8 +170,7 @@ public extension Alert { } -// MARK: 类函数 - +// MARK: - 实例管理器 public extension Alert { /// 推入屏幕 @@ -186,7 +178,7 @@ public extension Alert { /// - Parameter title: 标题 /// - Parameter message: 正文 /// - Parameter actions: 更多操作 - @discardableResult class func push(scene: Alert.Scene, title: String? = nil, message: String? = nil, actions: ((inout Alert.ViewModel) -> Void)? = nil) -> Alert { + @discardableResult class func push(scene: Alert.Scene = .default, title: String? = nil, message: String? = nil, actions: ((inout ViewModel) -> Void)? = nil) -> Alert { return Alert(scene: scene, title: title, message: message, actions: actions).push() } @@ -218,45 +210,30 @@ public extension Alert { } -// MARK: - 私有 +// MARK: - 创建和设置 internal extension Alert { - /// 移除按钮 - /// - Parameter index: 索引 - @discardableResult func privRemoveAction(index: Int) -> Alert { - if index < 0 { - for view in self.actionStack.arrangedSubviews { - if let btn = view as? UIButton { - btn.removeFromSuperview() - } - } - } else if index < self.actionStack.arrangedSubviews.count, let btn = self.actionStack.arrangedSubviews[index] as? UIButton { - btn.removeFromSuperview() - } - if self.actionStack.arrangedSubviews.count == 0 { - self.actionStack.removeFromSuperview() - } - UIView.animateForAlert { - self.view.layoutIfNeeded() - } - return self - } - @discardableResult func privAddButton(custom button: UIButton, at index: Int? = nil, handler: (() -> Void)?) -> UIButton { + /// 加载一个按钮 + /// - Parameter style: 样式 + /// - Parameter title: 标题 + /// - Parameter action: 事件 + @discardableResult func insert(action index: Int?, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + let btn = Button.actionButton(title: title) + if let idx = index, idx < actionStack.arrangedSubviews.count { + actionStack.insertArrangedSubview(btn, at: idx) + } else { + actionStack.addArrangedSubview(btn) + } + btn.update(style: style) if actionStack.superview == nil { contentStack.addArrangedSubview(actionStack) contentStack.layoutIfNeeded() } - if let idx = index, idx < actionStack.arrangedSubviews.count { - actionStack.insertArrangedSubview(button, at: idx) - } else { - actionStack.addArrangedSubview(button) - } - - addTouchUpAction(for: button) { [weak self] in + addTouchUpAction(for: btn) { [weak self] in handler?() - if button.tag == UIAlertAction.Style.cancel.rawValue { + if btn.tag == UIAlertAction.Style.cancel.rawValue { self?.pop() } } @@ -266,10 +243,10 @@ internal extension Alert { self.view.layoutIfNeeded() } } - return button + return btn } - func privUpdateButton(action index: Int, style: UIAlertAction.Style, title: String?, _ handler: (() -> Void)?) { + func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { if index < self.actionStack.arrangedSubviews.count, let btn = self.actionStack.arrangedSubviews[index] as? UIButton { btn.setTitle(title, for: .normal) if let b = btn as? Button { @@ -287,10 +264,30 @@ internal extension Alert { } } + /// 移除按钮 + /// - Parameter index: 索引 + @discardableResult func remove(action index: Int) -> Alert { + if index < 0 { + for view in self.actionStack.arrangedSubviews { + if let btn = view as? UIButton { + btn.removeFromSuperview() + } + } + } else if index < self.actionStack.arrangedSubviews.count, let btn = self.actionStack.arrangedSubviews[index] as? UIButton { + btn.removeFromSuperview() + } + if self.actionStack.arrangedSubviews.count == 0 { + self.actionStack.removeFromSuperview() + } + UIView.animateForAlert { + self.view.layoutIfNeeded() + } + return self + } } fileprivate extension Alert { - class func updateAlertsLayout() { + class func privUpdateAlertsLayout() { for (i, a) in alerts.reversed().enumerated() { let scale = CGFloat(pow(0.7, CGFloat(i))) UIView.animate(withDuration: 1.8, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 0.5, options: [.allowUserInteraction, .curveEaseInOut], animations: { @@ -301,7 +298,7 @@ fileprivate extension Alert { } } } - class func getAlertWindow(_ vc: UIViewController) -> UIWindow { + class func privGetAlertWindow(_ vc: UIViewController) -> UIWindow { if let w = alertWindow { return w } @@ -313,7 +310,7 @@ fileprivate extension Alert { return w } - class func removeItemFromArray(alert: Alert) { + class func privRemoveItemFromArray(alert: Alert) { if alerts.count > 1 { for (i, a) in alerts.enumerated() { if a == alert { @@ -322,7 +319,7 @@ fileprivate extension Alert { } } } - updateAlertsLayout() + privUpdateAlertsLayout() } else if alerts.count == 1 { alerts.removeAll() } else { diff --git a/ProHUD/Alert/AlertModel.swift b/ProHUD/Alert/AlertModel.swift index eaa8223..f38c438 100644 --- a/ProHUD/Alert/AlertModel.swift +++ b/ProHUD/Alert/AlertModel.swift @@ -33,7 +33,7 @@ public extension Alert { } - struct ViewModel { + class ViewModel { /// ID标识 public var identifier = String(Date().timeIntervalSince1970) @@ -67,9 +67,8 @@ public extension Alert { didSet { durationBlock?.cancel() if let t = duration, t > 0 { - let v = vc - durationBlock = DispatchWorkItem(block: { - v?.pop() + durationBlock = DispatchWorkItem(block: { [weak self] in + self?.vc?.pop() }) DispatchQueue.main.asyncAfter(deadline: .now()+t, execute: durationBlock!) } else { @@ -80,6 +79,8 @@ public extension Alert { public weak var vc: Alert? + // MARK: 私有 + /// 持续时间 internal var durationBlock: DispatchWorkItem? @@ -99,13 +100,9 @@ public extension Alert.ViewModel { /// - Parameter style: 样式 /// - Parameter text: 标题 /// - Parameter handler: 事件处理 - @discardableResult mutating func add(action style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + @discardableResult func add(action style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { duration = 0 - let btn = vc?.privAddButton(custom: Alert.Button.actionButton(title: title), handler: handler) - if let b = btn as? Alert.Button { - b.update(style: style) - } - return btn! + return vc!.insert(action: nil, style: style, title: title, handler: handler) } /// 插入按钮 @@ -113,13 +110,9 @@ public extension Alert.ViewModel { /// - Parameter style: 样式 /// - Parameter title: 标题 /// - Parameter handler: 事件处理 - @discardableResult mutating func insert(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + @discardableResult func insert(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { duration = 0 - let btn = vc?.privAddButton(custom: Alert.Button.actionButton(title: title), at: index, handler: handler) - if let b = btn as? Alert.Button { - b.update(style: style) - } - return btn! + return vc!.insert(action: index, style: style, title: title, handler: handler) } /// 更新按钮 @@ -127,16 +120,15 @@ public extension Alert.ViewModel { /// - Parameter style: 样式 /// - Parameter title: 标题 /// - Parameter handler: 事件处理 - mutating func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { - vc?.privUpdateButton(action: index, style: style, title: title, handler) + func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { + vc?.update(action: index, style: style, title: title, handler: handler) } /// 移除按钮 /// - Parameter index: 索引 - mutating func remove(action index: Int...) { - guard let alert = self.vc else { return } + func remove(action index: Int...) { for (i, idx) in index.enumerated() { - alert.privRemoveAction(index: idx-i) + vc?.remove(action: idx-i) } } diff --git a/ProHUD/Alert/AlertView.swift b/ProHUD/Alert/AlertView.swift deleted file mode 100644 index 607c668..0000000 --- a/ProHUD/Alert/AlertView.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// AlertView.swift -// ProHUD -// -// Created by xaoxuu on 2019/7/29. -// Copyright © 2019 Titan Studio. All rights reserved. -// - -import UIKit - -internal extension Alert { - class Button: UIButton { - class func actionButton(title: String?) -> UIButton { - let btn = Button(type: .system) - btn.setTitle(title, for: .normal) - btn.layer.cornerRadius = cfg.alert.cornerRadius / 2 - btn.titleLabel?.font = cfg.alert.buttonFont - return btn - } - - func update(style: UIAlertAction.Style) { - let pd = CGFloat(8) - if style != .cancel { - backgroundColor = cfg.dynamicColor.withAlphaComponent(0.04) - contentEdgeInsets = .init(top: pd*1.5, left: pd*1.5, bottom: pd*1.5, right: pd*1.5) - } else { - backgroundColor = .clear - contentEdgeInsets = .init(top: pd*0.5, left: pd*1.5, bottom: pd*0.5, right: pd*1.5) - } - switch style { - case .default: - setTitleColor(tintColor, for: .normal) - case .destructive: - setTitleColor(.init(red: 244/255, green: 67/255, blue: 54/255, alpha: 1), for: .normal) - case .cancel: - setTitleColor(cfg.secondaryLabelColor, for: .normal) - @unknown default: - break - } - tag = style.rawValue - } - - class func forceQuitButton() -> UIButton { - let btn = Button(type: .system) - let pd = cfg.alert.padding/2 - btn.contentEdgeInsets = .init(top: pd*1.5, left: pd*1.5, bottom: pd*1.5, right: pd*1.5) - btn.imageEdgeInsets.right = pd*1.5 - btn.setTitleColor(UIColor(red:1.00, green:0.55, blue:0.21, alpha:1.00), for: .normal) - btn.titleLabel?.font = cfg.alert.buttonFont - return btn - } - - } - -} diff --git a/ProHUD/Guard/GuardConfig.swift b/ProHUD/Guard/GuardConfig.swift index bcb3ccd..0e25973 100644 --- a/ProHUD/Guard/GuardConfig.swift +++ b/ProHUD/Guard/GuardConfig.swift @@ -22,7 +22,6 @@ public extension ProHUD.Configuration { /// 填充:元素内部控件距离元素边界的距离 public var padding = CGFloat(16) - // MARK: 图标样式 /// 颜色 public var tintColor: UIColor? @@ -41,12 +40,6 @@ public extension ProHUD.Configuration { /// 按钮圆角半径 public var buttonCornerRadius = CGFloat(12) - /// 加载视图 - /// - Parameter callback: 回调代码 - public mutating func loadSubviews(_ callback: @escaping (ProHUD.Guard) -> Void) { - privLoadSubviews = callback - } - /// 更新视图 /// - Parameter callback: 回调代码 public mutating func reloadData(_ callback: @escaping (ProHUD.Guard) -> Void) { @@ -56,15 +49,14 @@ public extension ProHUD.Configuration { } } -// MARK: - 默认实现 +// MARK: - 内部调用 internal extension ProHUD.Configuration.Guard { - var loadSubviews: (ProHUD.Guard) -> Void { - return privLoadSubviews - } + var reloadData: (ProHUD.Guard) -> Void { return privReloadData } + var reloadStack: (ProHUD.Guard) -> Void { return { (vc) in if vc.textStack.arrangedSubviews.count > 0 { @@ -82,14 +74,7 @@ internal extension ProHUD.Configuration.Guard { } -fileprivate var privLoadSubviews: (ProHUD.Guard) -> Void = { - return { (vc) in - debug(vc, "loadSubviews") - let config = cfg.guard - - } -}() - +// MARK: - 默认实现 fileprivate var privReloadData: (ProHUD.Guard) -> Void = { return { (vc) in debug(vc, "reloadData") @@ -114,10 +99,10 @@ fileprivate var privReloadData: (ProHUD.Guard) -> Void = { vc.contentView.snp.makeConstraints { (mk) in mk.centerX.equalToSuperview() if UIDevice.current.userInterfaceIdiom == .phone { - if width == config.cardMaxWidth { - mk.bottom.equalToSuperview().offset(-Inspire.shared.screen.safeAreaInsets.bottom) - } else { + if width < config.cardMaxWidth { mk.bottom.equalToSuperview() + } else { + mk.bottom.equalToSuperview().offset(-Inspire.shared.screen.safeAreaInsets.bottom) } } else if UIDevice.current.userInterfaceIdiom == .pad { mk.centerY.equalToSuperview() @@ -126,12 +111,17 @@ fileprivate var privReloadData: (ProHUD.Guard) -> Void = { } // stack vc.contentStack.snp.makeConstraints { (mk) in - mk.top.equalToSuperview().offset(config.padding + config.margin) + mk.top.equalToSuperview().offset(config.padding) mk.centerX.equalToSuperview() - if width == config.cardMaxWidth { - mk.bottom.equalToSuperview().offset(-config.padding) + if width < config.cardMaxWidth { + let bottom = Inspire.shared.screen.safeAreaInsets.bottom + if bottom == 0 { + mk.bottom.equalToSuperview().offset(-config.padding) + } else { + mk.bottom.equalToSuperview().offset(-config.padding/2 - bottom) + } } else { - mk.bottom.equalToSuperview().offset(-config.padding-Inspire.shared.screen.safeAreaInsets.bottom) + mk.bottom.equalToSuperview().offset(-config.padding) } if isPortrait { mk.width.equalToSuperview().offset(-config.padding * 2) @@ -139,6 +129,6 @@ fileprivate var privReloadData: (ProHUD.Guard) -> Void = { mk.width.equalToSuperview().offset(-config.padding * 4) } } - + config.reloadStack(vc) } }() diff --git a/ProHUD/Guard/GuardController.swift b/ProHUD/Guard/GuardController.swift index 04f2ba9..3218285 100644 --- a/ProHUD/Guard/GuardController.swift +++ b/ProHUD/Guard/GuardController.swift @@ -15,7 +15,7 @@ public extension ProHUD { class Guard: HUDController { /// 内容视图 - public var contentView = BlurView() + public var contentView = createBlurView() /// 内容容器(包括textStack、actionStack,可以自己插入需要的控件) public var contentStack: StackContainer = { @@ -53,6 +53,7 @@ public extension ProHUD { public var vm = ViewModel() // MARK: 生命周期 + internal var isLoadFinished = false /// 实例化 /// - Parameter title: 标题 @@ -69,29 +70,27 @@ public extension ProHUD { } actions?(&vm) - view.tintColor = cfg.guard.tintColor - cfg.guard.loadSubviews(self) - cfg.guard.reloadData(self) - cfg.guard.reloadStack(self) - // 点击空白处 let tap = UITapGestureRecognizer(target: self, action: #selector(privDidTapped(_:))) view.addGestureRecognizer(tap) - } + public override func viewDidLoad() { + super.viewDidLoad() + view.tintColor = cfg.guard.tintColor + cfg.guard.reloadData(self) + isLoadFinished = true + } + } } // MARK: - 实例函数 - public extension Guard { - // MARK: 生命周期函数 - /// 推入某个视图控制器 /// - Parameter viewController: 视图控制器 @discardableResult func push(to viewController: UIViewController? = nil) -> Guard { @@ -104,11 +103,11 @@ public extension Guard { mk.edges.equalToSuperview() } if displaying == false { - translateOut() + privTranslateOut() } displaying = true UIView.animateForGuard { - self.translateIn() + self.privTranslateIn() } } if let vc = viewController ?? cfg.rootViewController { @@ -127,7 +126,7 @@ public extension Guard { view.isUserInteractionEnabled = false self.removeFromParent() UIView.animateForGuard(animations: { - self.translateOut() + self.privTranslateOut() }) { (done) in if self.displaying == false { self.view.removeFromSuperview() @@ -136,92 +135,23 @@ public extension Guard { } } - // MARK: 设置函数 - - /// 加载一个标题 - /// - Parameter text: 文本 - @discardableResult func add(title: String?) -> UILabel { - let lb = UILabel() - lb.font = cfg.guard.titleFont - lb.textColor = cfg.primaryLabelColor - lb.numberOfLines = 0 - lb.textAlignment = .justified - lb.text = title - textStack.addArrangedSubview(lb) - if #available(iOS 11.0, *) { - let count = textStack.arrangedSubviews.count - if count > 1 { - textStack.setCustomSpacing(cfg.guard.margin * 2, after: textStack.arrangedSubviews[count-2]) - } - } else { - // Fallback on earlier versions - } - cfg.guard.reloadStack(self) - return lb + /// 更新 + /// - Parameter callback: 回调 + func update(_ callback: ((inout ViewModel) -> Void)? = nil) { + callback?(&vm) + cfg.guard.reloadData(self) } - /// 加载一个副标题 - /// - Parameter text: 文本 - @discardableResult func add(subTitle: String?) -> UILabel { - let lb = add(title: subTitle) - lb.font = cfg.guard.subTitleFont - return lb - } - - /// 加载一段正文 - /// - Parameter text: 文本 - @discardableResult func add(message: String?) -> UILabel { - let lb = UILabel() - lb.font = cfg.guard.bodyFont - lb.textColor = cfg.secondaryLabelColor - lb.numberOfLines = 0 - lb.textAlignment = .justified - lb.text = message - textStack.addArrangedSubview(lb) - cfg.guard.reloadStack(self) - return lb - } - - /// 加载一个按钮 - /// - Parameter style: 样式 - /// - Parameter title: 标题 - /// - Parameter action: 事件 - @discardableResult func add(action style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { - let btn = Button.actionButton(title: title) - btn.titleLabel?.font = cfg.guard.buttonFont - actionStack.addArrangedSubview(btn) - cfg.guard.reloadStack(self) - btn.update(style: style) - addTouchUpAction(for: btn) { [weak self] in - handler?() - if btn.tag == UIAlertAction.Style.cancel.rawValue { - self?.pop() - } - } - return btn - } - - /// 移除按钮 - /// - Parameter index: 索引 - @discardableResult func remove(action index: Int...) -> Guard { - for (i, idx) in index.enumerated() { - privRemoveAction(index: idx-i) - } - return self - } /// 消失事件 /// - Parameter callback: 事件回调 - @discardableResult func didDisappear(_ callback: (() -> Void)?) -> Guard { + func didDisappear(_ callback: (() -> Void)?) { disappearCallback = callback - return self } } - -// MARK: 类函数 - +// MARK: - 实例管理器 public extension Guard { /// 推入屏幕 @@ -261,7 +191,7 @@ public extension Guard { `guard`.pop() } - /// 弹出屏幕 + /// 弹出所有实例 /// - Parameter identifier: 指定实例的标识 class func pop(from viewController: UIViewController?) { for g in guards(from: viewController) { @@ -273,36 +203,103 @@ public extension Guard { -// MARK: - 私有 - +// MARK: - 创建和设置 internal extension Guard { - /// 点击事件 - /// - Parameter sender: 手势 - @objc func privDidTapped(_ sender: UITapGestureRecognizer) { - let point = sender.location(in: contentView) - if point.x < 0 || point.y < 0 { - if force == false { - // 点击到操作区域外部 - pop() + /// 加载一个标题 + /// - Parameter text: 文本 + @discardableResult func add(title: String?) -> UILabel { + let lb = UILabel() + lb.font = cfg.guard.titleFont + lb.textColor = cfg.primaryLabelColor + lb.numberOfLines = 0 + lb.textAlignment = .center + lb.text = title + textStack.addArrangedSubview(lb) + if #available(iOS 11.0, *) { + let count = textStack.arrangedSubviews.count + if count > 1 { + textStack.setCustomSpacing(cfg.guard.margin * 2, after: textStack.arrangedSubviews[count-2]) + } + } else { + // Fallback on earlier versions + } + cfg.guard.reloadStack(self) + return lb + } + + /// 加载一个副标题 + /// - Parameter text: 文本 + @discardableResult func add(subTitle: String?) -> UILabel { + let lb = add(title: subTitle) + lb.font = cfg.guard.subTitleFont + lb.textAlignment = .justified + return lb + } + + /// 加载一段正文 + /// - Parameter text: 文本 + @discardableResult func add(message: String?) -> UILabel { + let lb = UILabel() + lb.font = cfg.guard.bodyFont + lb.textColor = cfg.secondaryLabelColor + lb.numberOfLines = 0 + lb.textAlignment = .justified + lb.text = message + textStack.addArrangedSubview(lb) + cfg.guard.reloadStack(self) + return lb + } + + /// 加载一个按钮 + /// - Parameter index: 索引 + /// - Parameter style: 样式 + /// - Parameter title: 标题 + /// - Parameter action: 事件 + @discardableResult func insert(action index: Int?, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + let btn = Button.actionButton(title: title) + btn.titleLabel?.font = cfg.guard.buttonFont + if let idx = index, idx < actionStack.arrangedSubviews.count { + actionStack.insertArrangedSubview(btn, at: idx) + } else { + actionStack.addArrangedSubview(btn) + } + btn.update(style: style) + cfg.guard.reloadStack(self) + addTouchUpAction(for: btn) { [weak self] in + handler?() + if btn.tag == UIAlertAction.Style.cancel.rawValue { + self?.pop() } } - + if isLoadFinished { + UIView.animateForGuard { + self.view.layoutIfNeeded() + } + } + return btn } - - func translateIn() { - view.backgroundColor = backgroundColor - contentView.transform = .identity - } - - func translateOut() { - view.backgroundColor = UIColor(white: 0, alpha: 0) - contentView.transform = .init(translationX: 0, y: view.frame.size.height - contentView.frame.minY + cfg.guard.margin) + func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { + if index < self.actionStack.arrangedSubviews.count, let btn = self.actionStack.arrangedSubviews[index] as? UIButton { + btn.setTitle(title, for: .normal) + if let b = btn as? Button { + b.update(style: style) + } + if let _ = buttonEvents[btn] { + buttonEvents.removeValue(forKey: btn) + } + addTouchUpAction(for: btn) { [weak self] in + handler?() + if btn.tag == UIAlertAction.Style.cancel.rawValue { + self?.pop() + } + } + } } /// 移除按钮 /// - Parameter index: 索引 - @discardableResult func privRemoveAction(index: Int) -> Guard { + @discardableResult func remove(index: Int) -> Guard { if index < 0 { for view in self.actionStack.arrangedSubviews { if let btn = view as? UIButton { @@ -322,3 +319,29 @@ internal extension Guard { } +fileprivate extension Guard { + + /// 点击事件 + /// - Parameter sender: 手势 + @objc func privDidTapped(_ sender: UITapGestureRecognizer) { + let point = sender.location(in: contentView) + if point.x < 0 || point.y < 0 { + if force == false { + // 点击到操作区域外部 + pop() + } + } + + } + + func privTranslateIn() { + view.backgroundColor = backgroundColor + contentView.transform = .identity + } + + func privTranslateOut() { + view.backgroundColor = UIColor(white: 0, alpha: 0) + contentView.transform = .init(translationX: 0, y: view.frame.size.height - contentView.frame.minY + cfg.guard.margin) + } + +} diff --git a/ProHUD/Guard/GuardModel.swift b/ProHUD/Guard/GuardModel.swift index e9e483a..ae8f765 100644 --- a/ProHUD/Guard/GuardModel.swift +++ b/ProHUD/Guard/GuardModel.swift @@ -10,7 +10,7 @@ import UIKit public extension Guard { - struct ViewModel { + class ViewModel { /// ID标识 public var identifier = String(Date().timeIntervalSince1970) @@ -46,7 +46,7 @@ public extension Guard.ViewModel { /// - Parameter title: 标题 /// - Parameter action: 事件 @discardableResult func add(action style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { - return vc!.add(action: style, title: title, handler: handler) + return vc!.insert(action: nil, style: style, title: title, handler: handler) } /// 插入按钮 @@ -54,9 +54,8 @@ public extension Guard.ViewModel { /// - Parameter style: 样式 /// - Parameter title: 标题 /// - Parameter handler: 事件处理 - @discardableResult mutating func insert(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { - - return UIButton() + @discardableResult func insert(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) -> UIButton { + return vc!.insert(action: index, style: style, title: title, handler: handler) } /// 更新按钮 @@ -64,15 +63,15 @@ public extension Guard.ViewModel { /// - Parameter style: 样式 /// - Parameter title: 标题 /// - Parameter handler: 事件处理 - mutating func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { - // vc?.privUpdateButton(action: index, style: style, title: title, handler) + func update(action index: Int, style: UIAlertAction.Style, title: String?, handler: (() -> Void)?) { + vc?.update(action: index, style: style, title: title, handler: handler) } /// 移除按钮 /// - Parameter index: 索引 func remove(action index: Int...) { for (i, idx) in index.enumerated() { - vc!.privRemoveAction(index: idx-i) + vc?.remove(index: idx-i) } } diff --git a/ProHUD/Guard/GuardView.swift b/ProHUD/Guard/GuardView.swift deleted file mode 100644 index 5d335ec..0000000 --- a/ProHUD/Guard/GuardView.swift +++ /dev/null @@ -1,46 +0,0 @@ -// -// GuardView.swift -// ProHUD -// -// Created by xaoxuu on 2019/7/31. -// Copyright © 2019 Titan Studio. All rights reserved. -// - -import UIKit - -internal extension Guard { - - class Button: UIButton { - class func actionButton(title: String?) -> Button { - let btn = Button(type: .system) - btn.setTitle(title, for: .normal) - btn.layer.cornerRadius = cfg.guard.buttonCornerRadius - btn.titleLabel?.font = cfg.guard.buttonFont - return btn - } - - func update(style: UIAlertAction.Style) { - let pd = CGFloat(8) - if style != .cancel { - contentEdgeInsets = .init(top: pd*1.5+2, left: pd*1.5, bottom: pd*1.5+2, right: pd*1.5) - } else { - contentEdgeInsets = .init(top: pd*1+2, left: pd*1.5, bottom: pd*1+2, right: pd*1.5) - } - switch style { - case .default: - backgroundColor = tintColor - setTitleColor(.white, for: .normal) - case .destructive: - backgroundColor = .init(red: 244/255, green: 67/255, blue: 54/255, alpha: 1) - setTitleColor(.white, for: .normal) - case .cancel: - setTitleColor(cfg.secondaryLabelColor, for: .normal) - @unknown default: - break - } - tag = style.rawValue - } - - } -} - diff --git a/ProHUD/HUDConfig.swift b/ProHUD/HUDConfig.swift index 2b1bb70..b5047e5 100644 --- a/ProHUD/HUDConfig.swift +++ b/ProHUD/HUDConfig.swift @@ -19,19 +19,19 @@ public extension ProHUD { /// 动态颜色(适配iOS13) public lazy var dynamicColor: UIColor = { -// if #available(iOS 13.0, *) { -// let color = UIColor { (traitCollection: UITraitCollection) -> UIColor in -// if traitCollection.userInterfaceStyle == .dark { -// return .white -// } else { -// return .black -// } -// } -// return color -// } else { -// // Fallback on earlier versions -// } - return .init(white: 0.15, alpha: 1) + if #available(iOS 13.0, *) { + let color = UIColor { (traitCollection: UITraitCollection) -> UIColor in + if traitCollection.userInterfaceStyle == .dark { + return .init(white: 1, alpha: 1) + } else { + return .init(white: 0.1, alpha: 1) + } + } + return color + } else { + // Fallback on earlier versions + } + return .init(white: 0.1, alpha: 1) }() /// 主标签文本颜色 @@ -41,9 +41,13 @@ public extension ProHUD { /// 次级标签文本颜色 public lazy var secondaryLabelColor: UIColor = { - return dynamicColor.withAlphaComponent(0.6) + return dynamicColor.withAlphaComponent(0.66) }() + public func blurView(_ callback: @escaping () -> UIVisualEffectView) { + createBlurView = callback + } + public var toast = Toast() public var alert = Alert() @@ -78,3 +82,19 @@ public extension ProHUD { config(&cfg) } } + +internal var createBlurView: () -> UIVisualEffectView = { + return { + let vev = UIVisualEffectView() + if #available(iOS 13.0, *) { + vev.effect = UIBlurEffect(style: .systemMaterial) +// vev.effect = UIBlurEffect(style: .extraLight) + } else if #available(iOS 11.0, *) { + vev.effect = UIBlurEffect(style: .extraLight) + } else { + vev.effect = .none + vev.backgroundColor = .white + } + return vev + } +}() diff --git a/ProHUD/HUDView.swift b/ProHUD/HUDView.swift index 5e5462b..8e8f588 100644 --- a/ProHUD/HUDView.swift +++ b/ProHUD/HUDView.swift @@ -27,34 +27,94 @@ public extension ProHUD { } - class BlurView: UIVisualEffectView { - - init() { - - if #available(iOS 13.0, *) { -// super.init(effect: UIBlurEffect(style: .systemMaterial)) - super.init(effect: UIBlurEffect(style: .extraLight)) - } else if #available(iOS 11.0, *) { - super.init(effect: UIBlurEffect(style: .extraLight)) - } else { - super.init(effect: .none) - backgroundColor = .white - } - +} + +internal extension Alert { + class Button: UIButton { + class func actionButton(title: String?) -> Button { + let btn = Button(type: .system) + btn.setTitle(title, for: .normal) + btn.layer.cornerRadius = cfg.alert.cornerRadius / 2 + btn.titleLabel?.font = cfg.alert.buttonFont + return btn } - required init?(coder: NSCoder) { - fatalError("init(coder:) has not been implemented") + func update(style: UIAlertAction.Style) { + let pd = CGFloat(8) + if style != .cancel { + backgroundColor = cfg.dynamicColor.withAlphaComponent(0.04) + contentEdgeInsets = .init(top: pd*1.5, left: pd*1.5, bottom: pd*1.5, right: pd*1.5) + } else { + backgroundColor = .clear + contentEdgeInsets = .init(top: pd*0.5, left: pd*1.5, bottom: pd*0.5, right: pd*1.5) + } + switch style { + case .default: + setTitleColor(tintColor, for: .normal) + case .destructive: + setTitleColor(.init(red: 244/255, green: 67/255, blue: 54/255, alpha: 1), for: .normal) + case .cancel: + setTitleColor(cfg.secondaryLabelColor, for: .normal) + @unknown default: + break + } + tag = style.rawValue + } + + class func forceQuitButton() -> UIButton { + let btn = Button(type: .system) + let pd = cfg.alert.padding/2 + btn.contentEdgeInsets = .init(top: pd*1.5, left: pd*1.5, bottom: pd*1.5, right: pd*1.5) + btn.imageEdgeInsets.right = pd*1.5 + btn.setTitleColor(UIColor(red:1.00, green:0.55, blue:0.21, alpha:1.00), for: .normal) + btn.titleLabel?.font = cfg.alert.buttonFont + return btn } } +} + +internal extension Guard { + class Button: UIButton { + class func actionButton(title: String?) -> Button { + let btn = Button(type: .system) + btn.setTitle(title, for: .normal) + btn.layer.cornerRadius = cfg.guard.buttonCornerRadius + btn.titleLabel?.font = cfg.guard.buttonFont + return btn + } + + func update(style: UIAlertAction.Style) { + let pd = CGFloat(8) + if style != .cancel { + contentEdgeInsets = .init(top: pd*1.5+2, left: pd*1.5, bottom: pd*1.5+2, right: pd*1.5) + } else { + contentEdgeInsets = .init(top: pd*1+2, left: pd*1.5, bottom: pd*1+2, right: pd*1.5) + } + switch style { + case .default: + backgroundColor = tintColor + setTitleColor(.white, for: .normal) + case .destructive: + backgroundColor = .init(red: 244/255, green: 67/255, blue: 54/255, alpha: 1) + setTitleColor(.white, for: .normal) + case .cancel: + backgroundColor = .clear + setTitleColor(cfg.secondaryLabelColor, for: .normal) + @unknown default: + break + } + tag = style.rawValue + } + + } } internal extension UIView { - class func animateEaseOut(duration: TimeInterval = 1, delay: TimeInterval = 0, animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil) { + private class func animateEaseOut(duration: TimeInterval = 1, delay: TimeInterval = 0, animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil) { animate(withDuration: duration, delay: delay, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: [.allowUserInteraction, .curveEaseOut], animations: animations, completion: completion) } @@ -64,27 +124,26 @@ internal extension UIView { class func animateForAlertBuildOut(animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil) { animateEaseOut(duration: 0.38, delay: 0, animations: animations, completion: completion) } - class func animateForAlert(animations: @escaping () -> Void) { - animateEaseOut(duration: 1, delay: 0, animations: animations, completion: nil) - } class func animateForAlert(animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil) { animateEaseOut(duration: 1, delay: 0, animations: animations, completion: completion) } - - class func animateForToast(animations: @escaping () -> Void) { - animateEaseOut(duration: 1, delay: 0, animations: animations, completion: nil) + class func animateForAlert(animations: @escaping () -> Void) { + animateForAlert(animations: animations, completion: nil) } class func animateForToast(animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil) { - animateEaseOut(duration: 1, delay: 0, animations: animations, completion: completion) + animateEaseOut(duration: 1.2, delay: 0, animations: animations, completion: completion) } - - class func animateForGuard(animations: @escaping () -> Void) { - animateForGuard(animations: animations, completion: nil) + class func animateForToast(animations: @escaping () -> Void) { + animateForToast(animations: animations, completion: nil) } class func animateForGuard(animations: @escaping () -> Void, completion: ((Bool) -> Void)? = nil) { animateEaseOut(duration: 0.6, delay: 0, animations: animations, completion: completion) } + class func animateForGuard(animations: @escaping () -> Void) { + animateForGuard(animations: animations, completion: nil) + } + } diff --git a/ProHUD/Toast/ToastConfig.swift b/ProHUD/Toast/ToastConfig.swift index 673eed1..0861868 100644 --- a/ProHUD/Toast/ToastConfig.swift +++ b/ProHUD/Toast/ToastConfig.swift @@ -21,10 +21,13 @@ public extension ProHUD.Configuration { public var padding = CGFloat(16) // MARK: 图标样式 - /// 图标、default按钮的颜色 - public var tintColor: UIColor? /// 图标尺寸 public var iconSize = CGSize(width: 48, height: 48) + /// 某个场景的默认图片 + /// - Parameter callback: 回调 + public func iconForScene(_ callback: @escaping (ProHUD.Toast.Scene) -> UIImage?) { + privIconForScene = callback + } // MARK: 文本样式 /// 标题字体 @@ -37,71 +40,49 @@ public extension ProHUD.Configuration { /// 正文最多行数 public var bodyMaxLines = Int(10) - /// 加载视图(如果需要完全自定义整个View,可以重写这个) - /// - Parameter callback: 回调代码 - public mutating func loadSubviews(_ callback: @escaping (ProHUD.Toast) -> Void) { - privLoadSubviews = callback - } - /// 更新视图 /// - Parameter callback: 回调代码 public mutating func reloadData(_ callback: @escaping (ProHUD.Toast) -> Void) { privReloadData = callback } + /// 非Loading弹窗的默认持续时间 + public var duration = TimeInterval(3) + } } -// MARK: - 默认实现 +// MARK: - 内部调用 internal extension ProHUD.Configuration.Toast { - var loadSubviews: (ProHUD.Toast) -> Void { - return privLoadSubviews - } + var reloadData: (ProHUD.Toast) -> Void { return privReloadData } + } -fileprivate var privLoadSubviews: (ProHUD.Toast) -> Void = { - return { (vc) in - debug(vc, "loadSubviews") - vc.view.tintColor = cfg.toast.tintColor - vc.view.addSubview(vc.titleLabel) - vc.view.addSubview(vc.bodyLabel) - vc.view.addSubview(vc.imageView) - } -}() - +// MARK: - 默认实现 fileprivate var privReloadData: (ProHUD.Toast) -> Void = { return { (vc) in debug(vc, "reloadData") let config = cfg.toast - let scene = vc.model.scene - // 设置数据 - let imgStr: String - switch vc.model.scene { - case .success: - imgStr = "ProHUDSuccess" - case .warning: - imgStr = "ProHUDWarning" - case .error: - imgStr = "ProHUDError" - case .loading: - imgStr = "ProHUDLoading" - case .confirm: - imgStr = "ProHUDMessage" - case .delete: - imgStr = "ProHUDTrash" - default: - imgStr = "ProHUDMessage" + let scene = vc.vm.scene + if vc.titleLabel.superview == nil { + vc.view.addSubview(vc.titleLabel) } - let img = vc.model.icon ?? ProHUD.image(named: imgStr) - vc.imageView.image = img + if vc.bodyLabel.superview == nil { + vc.view.addSubview(vc.bodyLabel) + } + if vc.imageView.superview == nil { + vc.view.addSubview(vc.imageView) + } + // 设置数据 + vc.imageView.image = vc.vm.icon ?? privIconForScene(vc.vm.scene) vc.titleLabel.textColor = cfg.primaryLabelColor - vc.titleLabel.text = vc.model.title + vc.titleLabel.text = vc.vm.title vc.bodyLabel.textColor = cfg.secondaryLabelColor - vc.bodyLabel.text = vc.model.message + vc.bodyLabel.text = vc.vm.message // 更新布局 vc.imageView.snp.makeConstraints { (mk) in @@ -123,13 +104,35 @@ fileprivate var privReloadData: (ProHUD.Toast) -> Void = { } vc.view.layoutIfNeeded() - switch vc.model.scene { - case .loading: - vc.duration(nil) - default: - vc.duration(3) + // 设置默认持续时间 + if vc.vm.duration == nil { + if vc.vm.scene == .loading { + vc.vm.duration = 0 + } else { + vc.vm.duration = config.duration + } } - } }() + + + +fileprivate var privIconForScene: (ProHUD.Toast.Scene) -> UIImage? = { + return { (scene) in + let imgStr: String + switch scene { + case .success: + imgStr = "ProHUDSuccess" + case .warning: + imgStr = "ProHUDWarning" + case .error: + imgStr = "ProHUDError" + case .loading: + imgStr = "ProHUDLoading" + default: + imgStr = "ProHUDMessage" + } + return ProHUD.image(named: imgStr) + } +}() diff --git a/ProHUD/Toast/ToastController.swift b/ProHUD/Toast/ToastController.swift index dd62b52..da19233 100644 --- a/ProHUD/Toast/ToastController.swift +++ b/ProHUD/Toast/ToastController.swift @@ -47,23 +47,16 @@ public extension ProHUD { /// 背景层 public var backgroundView: UIVisualEffectView = { - let vev = UIVisualEffectView() - if #available(iOS 13.0, *) { -// vev.effect = UIBlurEffect.init(style: .systemMaterial)) - vev.effect = UIBlurEffect.init(style: .extraLight) - } else if #available(iOS 11.0, *) { - vev.effect = UIBlurEffect.init(style: .extraLight) - } else { - vev.effect = .none - vev.backgroundColor = .white - } + let vev = createBlurView() vev.layer.masksToBounds = true vev.layer.cornerRadius = cfg.toast.cornerRadius return vev }() /// 视图模型 - public var model = ViewModel() + public var vm = ViewModel() + + internal var maxY = CGFloat(0) // MARK: 生命周期 @@ -72,17 +65,15 @@ public extension ProHUD { /// - Parameter title: 标题 /// - Parameter message: 内容 /// - Parameter icon: 图标 - public convenience init(scene: Scene = .default, title: String? = nil, message: String? = nil, icon: UIImage? = nil, actions: ((Toast) -> Void)? = nil) { + public convenience init(scene: Scene = .default, title: String? = nil, message: String? = nil, icon: UIImage? = nil, actions: ((inout ViewModel) -> Void)? = nil) { self.init() + vm.vc = self - model.scene = scene - model.title = title - model.message = message - model.icon = icon - actions?(self) - // 布局 - cfg.toast.loadSubviews(self) - cfg.toast.reloadData(self) + vm.scene = scene + vm.title = title + vm.message = message + vm.icon = icon + actions?(&vm) // 点击 let tap = UITapGestureRecognizer(target: self, action: #selector(privDidTapped(_:))) @@ -94,16 +85,21 @@ public extension ProHUD { } + public override func viewDidLoad() { + super.viewDidLoad() + + cfg.toast.reloadData(self) + + } + + } } // MARK: - 实例函数 - public extension Toast { - // MARK: 生命周期函数 - /// 推入屏幕 @discardableResult func push() -> Toast { let config = cfg.toast @@ -145,7 +141,7 @@ public extension Toast { if Toast.toasts.contains(self) == false { Toast.toasts.append(self) } - Toast.updateToastsLayout() + Toast.privUpdateToastsLayout() if isNew { window.transform = .init(translationX: 0, y: -window.frame.maxY) UIView.animateForToast { @@ -159,32 +155,21 @@ public extension Toast { /// 弹出屏幕 func pop() { - Toast.removeItemFromArray(toast: self) - UIView.animateForToast(animations: { - let frame = self.window?.frame ?? .zero - self.window?.transform = .init(translationX: 0, y: -200-frame.maxY) - }) { (done) in - self.view.removeFromSuperview() - self.removeFromParent() - self.window = nil - } + Toast.pop(self) } - // MARK: 设置函数 - /// 设置持续时间 - /// - Parameter duration: 持续时间 - @discardableResult func duration(_ duration: TimeInterval?) -> Toast { - model.setupDuration(duration: duration) { [weak self] in - self?.pop() - } - return self + /// 更新 + /// - Parameter callback: 回调 + func update(_ callback: ((inout ViewModel) -> Void)? = nil) { + callback?(&vm) + cfg.toast.reloadData(self) } /// 点击事件 /// - Parameter callback: 事件回调 @discardableResult func didTapped(_ callback: (() -> Void)?) -> Toast { - model.tapCallback = callback + vm.tapCallback = callback return self } @@ -195,47 +180,10 @@ public extension Toast { return self } - /// 更新 - /// - Parameter scene: 场景 - /// - Parameter title: 标题 - /// - Parameter message: 内容 - @discardableResult func update(scene: Scene, title: String?, message: String?) -> Toast { - model.scene = scene - model.title = title - model.message = message - cfg.toast.reloadData(self) - return self - } - - /// 更新标题 - /// - Parameter title: 标题 - @discardableResult func update(title: String?) -> Toast { - model.title = title - cfg.toast.reloadData(self) - return self - } - - /// 更新文本 - /// - Parameter message: 消息 - @discardableResult func update(message: String?) -> Toast { - model.message = message - cfg.toast.reloadData(self) - return self - } - - /// 更新图标 - /// - Parameter icon: 图标 - @discardableResult func update(icon: UIImage?) -> Toast { - model.icon = icon - cfg.toast.reloadData(self) - return self - } - } -// MARK: 类函数 - +// MARK: - 实例管理器 public extension Toast { /// 推入屏幕 @@ -243,7 +191,7 @@ public extension Toast { /// - Parameter title: 标题 /// - Parameter message: 内容 /// - Parameter actions: 更多操作 - @discardableResult class func push(scene: Toast.Scene, title: String? = nil, message: String? = nil, actions: ((Toast) -> Void)? = nil) -> Toast { + @discardableResult class func push(scene: Toast.Scene = .default, title: String? = nil, message: String? = nil, actions: ((inout ViewModel) -> Void)? = nil) -> Toast { return Toast(scene: scene, title: title, message: message, actions: actions).push() } @@ -252,7 +200,7 @@ public extension Toast { class func toasts(_ identifier: String?) -> [Toast] { var tt = [Toast]() for t in toasts { - if t.model.identifier == identifier { + if t.vm.identifier == identifier { tt.append(t) } } @@ -262,7 +210,25 @@ public extension Toast { /// 弹出屏幕 /// - Parameter toast: 实例 class func pop(_ toast: Toast) { - toast.pop() + if toasts.count > 1 { + for (i, t) in toasts.enumerated() { + if t == toast { + toasts.remove(at: i) + } + } + privUpdateToastsLayout() + } else if toasts.count == 1 { + toasts.removeAll() + } else { + debug("漏洞:已经没有toast了") + } + UIView.animateForToast(animations: { + toast.window?.transform = .init(translationX: 0, y: -20-toast.maxY) + }) { (done) in + toast.view.removeFromSuperview() + toast.removeFromParent() + toast.window = nil + } } /// 弹出屏幕 @@ -275,57 +241,40 @@ public extension Toast { } -// MARK: 私有 - -fileprivate var willUpdateToastsLayout: DispatchWorkItem? +// MARK: - 创建和设置 +fileprivate var willprivUpdateToastsLayout: DispatchWorkItem? fileprivate extension Toast { /// 点击事件 /// - Parameter sender: 手势 @objc func privDidTapped(_ sender: UITapGestureRecognizer) { - model.tapCallback?() + vm.tapCallback?() } /// 拖拽事件 /// - Parameter sender: 手势 @objc func privDidPan(_ sender: UIPanGestureRecognizer) { - model.durationBlock?.cancel() + vm.durationBlock?.cancel() let point = sender.translation(in: sender.view) window?.transform = .init(translationX: 0, y: point.y) if sender.state == .recognized { let v = sender.velocity(in: sender.view) - if model.removable == true && (((window?.frame.origin.y ?? 0) < 0 && v.y < 0) || v.y < -1200) { + if vm.removable == true && (((window?.frame.origin.y ?? 0) < 0 && v.y < 0) || v.y < -1200) { // 移除 self.pop() } else { UIView.animateForToast(animations: { self.window?.transform = .identity }) { (done) in - // FIXME: 重置计时器 - + let d = self.vm.duration + self.vm.duration = d } } } } - /// 从数组中移除 - /// - Parameter toast: 实例 - class func removeItemFromArray(toast: Toast) { - if toasts.count > 1 { - for (i, t) in toasts.enumerated() { - if t == toast { - toasts.remove(at: i) - } - } - updateToastsLayout() - } else if toasts.count == 1 { - toasts.removeAll() - } else { - debug("漏洞:已经没有toast了") - } - } - class func updateToastsLayout() { + class func privUpdateToastsLayout() { func f() { let top = Inspire.shared.screen.updatedSafeAreaInsets.top for (i, e) in toasts.enumerated() { @@ -342,18 +291,20 @@ fileprivate extension Toast { let lastY = toasts[i-1].window?.frame.maxY ?? .zero y = lastY + config.margin } + e.maxY = y + window.frame.size.height UIView.animateForToast { - e.window?.frame.origin.y = y + window.frame.origin.y = y } } } } - willUpdateToastsLayout?.cancel() - willUpdateToastsLayout = DispatchWorkItem(block: { + willprivUpdateToastsLayout?.cancel() + willprivUpdateToastsLayout = DispatchWorkItem(block: { f() }) - DispatchQueue.main.asyncAfter(deadline: .now()+0.001, execute: willUpdateToastsLayout!) + DispatchQueue.main.asyncAfter(deadline: .now()+0.001, execute: willprivUpdateToastsLayout!) } + } diff --git a/ProHUD/Toast/ToastModel.swift b/ProHUD/Toast/ToastModel.swift index f3ad850..fab95e8 100644 --- a/ProHUD/Toast/ToastModel.swift +++ b/ProHUD/Toast/ToastModel.swift @@ -16,12 +16,6 @@ public extension Toast { /// 加载中场景 case loading - /// 确认场景 - case confirm - - /// 删除场景 - case delete - /// 成功场景 case success @@ -33,7 +27,7 @@ public extension Toast { } - struct ViewModel { + class ViewModel { /// ID标识 public var identifier = String(Date().timeIntervalSince1970) @@ -42,40 +36,56 @@ public extension Toast { public var scene = Scene.default /// 标题 - public var title: String? + public var title: String? { + didSet { + vc?.titleLabel.text = title + } + } /// 正文 - public var message: String? + public var message: String? { + didSet { + vc?.bodyLabel.text = message + } + } /// 图标 - public var icon: UIImage? + public var icon: UIImage? { + didSet { + vc?.imageView.image = icon + } + } /// 持续时间 - internal var duration: TimeInterval? + public var duration: TimeInterval? { + didSet { + durationBlock?.cancel() + if let t = duration, t > 0 { + durationBlock = DispatchWorkItem(block: { [weak self] in + self?.vc?.pop() + }) + DispatchQueue.main.asyncAfter(deadline: .now()+t, execute: durationBlock!) + } else { + durationBlock = nil + } + } + } + + public weak var vc: Toast? + + /// 是否可以通过手势移除(向上滑出屏幕) + public var removable = true + + + // MARK: 私有 /// 持续时间 internal var durationBlock: DispatchWorkItem? - /// 是否可以通过手势移除(向上划) - public var removable = true - /// 点击事件回调 internal var tapCallback: (() -> Void)? - internal mutating func setupDuration(duration: TimeInterval?, callback: @escaping () -> Void) { - self.duration = duration - durationBlock?.cancel() - if let t = duration, t > 0 { - durationBlock = DispatchWorkItem(block: callback) - DispatchQueue.main.asyncAfter(deadline: .now()+t, execute: durationBlock!) - } else { - durationBlock = nil - } - } - } } - - diff --git a/ProHUD/Toast/ToastView.swift b/ProHUD/Toast/ToastView.swift deleted file mode 100644 index 39a4593..0000000 --- a/ProHUD/Toast/ToastView.swift +++ /dev/null @@ -1,9 +0,0 @@ -// -// ToastView.swift -// ProHUD -// -// Created by xaoxuu on 2019/7/31. -// Copyright © 2019 Titan Studio. All rights reserved. -// - -import Foundation From 9431c715f5f5e45dcc8ccc0cfeb2678c421f2244 Mon Sep 17 00:00:00 2001 From: xaoxuu Date: Mon, 12 Aug 2019 17:59:40 +0800 Subject: [PATCH 3/7] update --- Example/Example.xcodeproj/project.pbxproj | 28 +++-- .../alert-circle.imageset/Contents.json | 25 ----- .../alert-circle (1).png | Bin 1065 -> 0 bytes .../alert-circle.imageset/alert-circle.png | Bin 961 -> 0 bytes .../header_center.imageset/Contents.json | 22 ---- .../header_center@2x.png | Bin 28754 -> 0 bytes .../header_center@3x.png | Bin 44726 -> 0 bytes Example/Example/Base.lproj/Main.storyboard | 47 ++++---- Example/Example/BaseListVC.swift | 55 ++++++++++ Example/Example/EmptyVC.swift | 57 ++++++++++ Example/Example/TestA.swift | 49 --------- Example/Example/TestAlertVC.swift | 102 ++++++++++++++++++ Example/Example/TestGuardVC.swift | 100 +++++++++++++++++ Example/Example/TestToastVC.swift | 97 +++++++++++++++++ Example/Example/ViewController.swift | 80 ++++---------- Example/Example/header.gif | Bin 504686 -> 0 bytes ProHUD/Alert/AlertConfig.swift | 40 ++++--- ProHUD/Alert/AlertController.swift | 16 ++- ProHUD/Alert/AlertModel.swift | 22 ++-- ProHUD/Guard/GuardConfig.swift | 9 +- ProHUD/Guard/GuardController.swift | 22 +++- ProHUD/HUDController.swift | 7 ++ ProHUD/Toast/ToastConfig.swift | 37 +++++-- ProHUD/Toast/ToastController.swift | 25 ++++- ProHUD/Toast/ToastModel.swift | 21 ++-- 25 files changed, 618 insertions(+), 243 deletions(-) delete mode 100644 Example/Example/Assets.xcassets/alert-circle.imageset/Contents.json delete mode 100644 Example/Example/Assets.xcassets/alert-circle.imageset/alert-circle (1).png delete mode 100644 Example/Example/Assets.xcassets/alert-circle.imageset/alert-circle.png delete mode 100644 Example/Example/Assets.xcassets/header_center.imageset/Contents.json delete mode 100644 Example/Example/Assets.xcassets/header_center.imageset/header_center@2x.png delete mode 100644 Example/Example/Assets.xcassets/header_center.imageset/header_center@3x.png create mode 100644 Example/Example/BaseListVC.swift create mode 100644 Example/Example/EmptyVC.swift delete mode 100644 Example/Example/TestA.swift create mode 100644 Example/Example/TestAlertVC.swift create mode 100644 Example/Example/TestGuardVC.swift create mode 100644 Example/Example/TestToastVC.swift delete mode 100644 Example/Example/header.gif diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 2855b97..61798b7 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -8,8 +8,11 @@ /* Begin PBXBuildFile section */ 33E2B6CF0D9BD11D8C027DE6 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB925B38880FB296AF5D219F /* Pods_Example.framework */; }; - CD10F0DA211582580077CAFF /* header.gif in Resources */ = {isa = PBXBuildFile; fileRef = CD10F0D9211582580077CAFF /* header.gif */; }; - CD95D26F22E732CE007559A3 /* TestA.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD95D26E22E732CE007559A3 /* TestA.swift */; }; + CD8BFF1823014850001E08DD /* TestToastVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8BFF1723014850001E08DD /* TestToastVC.swift */; }; + CD8BFF1A2301485E001E08DD /* TestAlertVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8BFF192301485E001E08DD /* TestAlertVC.swift */; }; + CD8BFF1C23014867001E08DD /* TestGuardVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8BFF1B23014867001E08DD /* TestGuardVC.swift */; }; + CD8BFF1E230148DD001E08DD /* BaseListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8BFF1D230148DD001E08DD /* BaseListVC.swift */; }; + CD8BFF2023014CB5001E08DD /* EmptyVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD8BFF1F23014CB5001E08DD /* EmptyVC.swift */; }; CDA4E03C20D3935B00CD2A0C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDA4E03B20D3935B00CD2A0C /* AppDelegate.swift */; }; CDA4E03E20D3935B00CD2A0C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDA4E03D20D3935B00CD2A0C /* ViewController.swift */; }; CDA4E04120D3935B00CD2A0C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = CDA4E03F20D3935B00CD2A0C /* Main.storyboard */; }; @@ -21,9 +24,12 @@ AB925B38880FB296AF5D219F /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; BA1A6035F1B9A658B3BB225C /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; CA1298266BE89D7950DE99F2 /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; - CD10F0D9211582580077CAFF /* header.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = header.gif; sourceTree = ""; }; CD59584620E36DA8000F6427 /* Example-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Example-Bridging-Header.h"; sourceTree = ""; }; - CD95D26E22E732CE007559A3 /* TestA.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestA.swift; sourceTree = ""; }; + CD8BFF1723014850001E08DD /* TestToastVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestToastVC.swift; sourceTree = ""; }; + CD8BFF192301485E001E08DD /* TestAlertVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestAlertVC.swift; sourceTree = ""; }; + CD8BFF1B23014867001E08DD /* TestGuardVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestGuardVC.swift; sourceTree = ""; }; + CD8BFF1D230148DD001E08DD /* BaseListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseListVC.swift; sourceTree = ""; }; + CD8BFF1F23014CB5001E08DD /* EmptyVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyVC.swift; sourceTree = ""; }; CDA4E03820D3935B00CD2A0C /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; CDA4E03B20D3935B00CD2A0C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; CDA4E03D20D3935B00CD2A0C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -84,11 +90,14 @@ isa = PBXGroup; children = ( CDA4E03B20D3935B00CD2A0C /* AppDelegate.swift */, + CD8BFF1D230148DD001E08DD /* BaseListVC.swift */, + CD8BFF1F23014CB5001E08DD /* EmptyVC.swift */, CDA4E03D20D3935B00CD2A0C /* ViewController.swift */, - CD95D26E22E732CE007559A3 /* TestA.swift */, + CD8BFF1723014850001E08DD /* TestToastVC.swift */, + CD8BFF192301485E001E08DD /* TestAlertVC.swift */, + CD8BFF1B23014867001E08DD /* TestGuardVC.swift */, CDA4E03F20D3935B00CD2A0C /* Main.storyboard */, CDA4E04220D3935C00CD2A0C /* Assets.xcassets */, - CD10F0D9211582580077CAFF /* header.gif */, CDA4E04420D3935C00CD2A0C /* LaunchScreen.storyboard */, CDA4E04720D3935C00CD2A0C /* Info.plist */, CD59584620E36DA8000F6427 /* Example-Bridging-Header.h */, @@ -161,7 +170,6 @@ CDA4E04620D3935C00CD2A0C /* LaunchScreen.storyboard in Resources */, CDA4E04320D3935C00CD2A0C /* Assets.xcassets in Resources */, CDA4E04120D3935B00CD2A0C /* Main.storyboard in Resources */, - CD10F0DA211582580077CAFF /* header.gif in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -230,9 +238,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + CD8BFF1823014850001E08DD /* TestToastVC.swift in Sources */, CDA4E03E20D3935B00CD2A0C /* ViewController.swift in Sources */, + CD8BFF2023014CB5001E08DD /* EmptyVC.swift in Sources */, + CD8BFF1A2301485E001E08DD /* TestAlertVC.swift in Sources */, CDA4E03C20D3935B00CD2A0C /* AppDelegate.swift in Sources */, - CD95D26F22E732CE007559A3 /* TestA.swift in Sources */, + CD8BFF1C23014867001E08DD /* TestGuardVC.swift in Sources */, + CD8BFF1E230148DD001E08DD /* BaseListVC.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Example/Example/Assets.xcassets/alert-circle.imageset/Contents.json b/Example/Example/Assets.xcassets/alert-circle.imageset/Contents.json deleted file mode 100644 index 78cde9e..0000000 --- a/Example/Example/Assets.xcassets/alert-circle.imageset/Contents.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "alert-circle.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "alert-circle (1).png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - }, - "properties" : { - "template-rendering-intent" : "template" - } -} \ No newline at end of file diff --git a/Example/Example/Assets.xcassets/alert-circle.imageset/alert-circle (1).png b/Example/Example/Assets.xcassets/alert-circle.imageset/alert-circle (1).png deleted file mode 100644 index 0088b5fff6023f05808e535e122e51b21d256268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1065 zcmV+^1lIeBP)9a4LWf5(6&?cOZTl!z#iM`;wk*q^BfRer zmY8p9Ywed9=qO+*<>jU&+ujY5v@zyz=q?QgmQtPo!12(5bAE@2N5+`*A#)A_CT|P? zmqP~J;5T1~c<;5q{+xZtb@Zfe7#&&8xliltc`dL~>PiUlEp;Kw{SfhpqDUxoJsIv$<7qAfGR%_jvrgj2z zJFDChrunS3AG?mIPT;8mjf@f|=FUJQ1UyL?nG?8cF4~0<@Eun$&zJ%?M4rqhn! zEHFiN#+as3`fo2nz>fehV{y$(gXC0cAw;dU-fc5<0xPAE8#ZU)(X3r-y~4KzrrnWJ z)&TICTgo|A8WDdPV^#vEtWJwkLqvR$9{MYo73VT`v!k4rQi|%n`(r2FWdA7ODH4a= z@Uel%Yp7xM?ja%`8e^zh^P+{42dY2+&Mg(r`J$2sns^F3p1P*Bl$CXQ=wK}EkER6x z(Df%<%XKV;?6((qikvtXu(g&7dGwlKrL8OCv6W~uhL*unf#$DS*vz*ElaoSUz++hpJd zx-3h&ZD+YcO#$_NuC29;7}!BxI<%lo+H{P~jfBfiKP_)y2sB3L$Qs zb2p)^XQ&EKCgG5}mt{Fe#0mf^M5ITkJI%4?!J5b5RLy+ykgw-~cc_6qxfY%} j&lWg!=Uz*{cPHV$37Jh>r7aVq00000NkvXXu0mjf!R7Wu diff --git a/Example/Example/Assets.xcassets/alert-circle.imageset/alert-circle.png b/Example/Example/Assets.xcassets/alert-circle.imageset/alert-circle.png deleted file mode 100644 index edd5e44b5f7726828b866aa43dd1b5fd65675d08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 961 zcmV;y13vtTP)lFG%wk{bz4!h4z3!@4 zk67mq*Et{l-+*x(-#Iiiv{OXx25>uojQ~7=KLPwf@}l>C+Bx@2)k>AlU=&5SG#ZVU z0X$9efg)iM5dhx;_@LEl9d9<9*NS{ru9pF-8%n3-`w^FVJ@eMdVtm)w*rvakvUZYduBsbcO7#Nr~IK+l?__ zE;Doj9wPb1fB_F1V~*qjzDe@HAOS_>Eo<$;Jit>VpBW?|fK{7zXNgacd|{A)B67l7 z`(oD&CP{KsDfMaj8bl{nt}N$1>umB^mX4Y{th{)^;>D#82p5s|Cb+R>HQfg4T?t@UY=Qx(Me zK1l#f8)H^!cWV~*D5Xvg0#HPru-2Z*J&W55wKPpH4xrtdF~&UDnV7CkL7Jvd0{FO0 z7T2I*easkhHV7~?(prB=@~JYARc%G&eQWKr-TZrAnnp)Q&jU!R3WxZK$af?kDSc_m zf~RS^r9HN|D@3e*W{JIkyK!StGH# z3`Cx-h-8DLy&;37Ai!mziHV6FN~vQc@2d#=lgJ`^By zMMTa4_=4o|yq_U2P8GoGv63XYqkSyi+a6$U0`Rwp{GgPYUs_taFgrVILq~0;wwZv; j+!T|(GI%ox*FE6B;8$)qf+F;U00000NkvXXu0mjfZ+FVA diff --git a/Example/Example/Assets.xcassets/header_center.imageset/Contents.json b/Example/Example/Assets.xcassets/header_center.imageset/Contents.json deleted file mode 100644 index 028aba0..0000000 --- a/Example/Example/Assets.xcassets/header_center.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "header_center@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "header_center@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Example/Example/Assets.xcassets/header_center.imageset/header_center@2x.png b/Example/Example/Assets.xcassets/header_center.imageset/header_center@2x.png deleted file mode 100644 index e56bf3e83fff265ad435ae48e3f1b506239a8f24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28754 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

o_>bDvUZXvko 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 wcK>(he|_*DInMva!T - + @@ -8,42 +8,39 @@ - + - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + - - - diff --git a/Example/Example/BaseListVC.swift b/Example/Example/BaseListVC.swift new file mode 100644 index 0000000..6360fd6 --- /dev/null +++ b/Example/Example/BaseListVC.swift @@ -0,0 +1,55 @@ +// +// BaseListVC.swift +// Example +// +// Created by xaoxuu on 2019/8/12. +// Copyright © 2019 Titan Studio. All rights reserved. +// + +import UIKit + +class BaseListVC: UIViewController { + + lazy var tableView: UITableView = { + let tv = UITableView() + + return tv + }() + + var titles: [String] { + return ["Toast", "Alert", "Guard"] + } + + override func viewDidLoad() { + super.viewDidLoad() + + + view.addSubview(tableView) + tableView.dataSource = self + tableView.delegate = self + tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell") + tableView.snp.makeConstraints { (mk) in + mk.edges.equalToSuperview() + } + + } + + +} + +extension BaseListVC: UITableViewDataSource, UITableViewDelegate { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return titles.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) + cell.textLabel?.text = titles[indexPath.row] + return cell + } + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + tableView.deselectRow(at: indexPath, animated: true) + } + +} diff --git a/Example/Example/EmptyVC.swift b/Example/Example/EmptyVC.swift new file mode 100644 index 0000000..e1afacb --- /dev/null +++ b/Example/Example/EmptyVC.swift @@ -0,0 +1,57 @@ +// +// EmptyVC.swift +// Example +// +// Created by xaoxuu on 2019/8/12. +// Copyright © 2019 Titan Studio. All rights reserved. +// + +import UIKit +import SnapKit +import Inspire + +class EmptyVC: UIViewController { + + + + override func viewDidLoad() { + super.viewDidLoad() + view.backgroundColor = UIColor(white: 0.95, alpha: 1) + // Do any additional setup after loading the view. + + let lb = UILabel() + lb.numberOfLines = 0 + lb.text = title + lb.font = .regular(40) + view.addSubview(lb) + lb.snp.makeConstraints { (mk) in + mk.center.equalToSuperview() + mk.leading.greaterThanOrEqualToSuperview().offset(16) + mk.trailing.lessThanOrEqualToSuperview().offset(-16) + } + + let btn = UIButton(type: .system) + btn.titleLabel?.font = .bold(20) + btn.setTitle("Dismiss", for: .normal) + btn.addTarget(self, action: #selector(didTappedDismiss(_:)), for: .touchUpInside) + view.addSubview(btn) + btn.snp.makeConstraints { (mk) in + mk.top.equalToSuperview().offset(Inspire.current.layout.safeAreaInsets(for: self).top) + mk.trailing.equalToSuperview().offset(-16) + mk.height.equalTo(44) + } + } + + @objc func didTappedDismiss(_ sender: UIButton) { + dismiss(animated: true, completion: nil) + } + +} + +extension UIViewController { + func presentEmptyVC(title: String?) { + let vc = EmptyVC() + vc.title = title + present(vc, animated: true, completion: nil) + } +} diff --git a/Example/Example/TestA.swift b/Example/Example/TestA.swift deleted file mode 100644 index f159b82..0000000 --- a/Example/Example/TestA.swift +++ /dev/null @@ -1,49 +0,0 @@ -// -// TestA.swift -// ProHUDExample -// -// Created by xaoxuu on 2019/7/23. -// Copyright © 2019 Titan Studio. All rights reserved. -// - -import UIKit - -public class TestA: NSObject { - - class func test1() { - print(self, "test1") - } - class func test2() { - print(self, "test2") - } - -} - - -open class TestB: NSObject { - - - class func test1() { - print(self, "test1") - } - open class func test2() { - print(self, "test2") - } - - -} - -class TestAA: TestA { - - override class func test2() { - print(self, "test2", "override") - } - -} - -class TestBB: TestB { - - override class func test2() { - print(self, "test2", "override") - } -} diff --git a/Example/Example/TestAlertVC.swift b/Example/Example/TestAlertVC.swift new file mode 100644 index 0000000..9caba64 --- /dev/null +++ b/Example/Example/TestAlertVC.swift @@ -0,0 +1,102 @@ +// +// TestAlertVC.swift +// Example +// +// Created by xaoxuu on 2019/8/12. +// Copyright © 2019 Titan Studio. All rights reserved. +// + +import UIKit +import ProHUD + +class TestAlertVC: BaseListVC { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + override var titles: [String] { + return ["场景:正在同步(超时)", "场景:同步成功", "场景:同步失败和重试"] + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + tableView.deselectRow(at: indexPath, animated: true) + let row = indexPath.row + if row == 0 { + func f() { + let a = Alert.push(scene: .loading, title: "正在同步", message: "请稍等片刻") { (vm) in + vm.identifier = "loading" + } + a.animate(rotate: true) + a.didForceQuit { [weak self] in + let t = Toast.push(scene: .loading, title: "正在同步", message: "请稍等片刻(点击展开为Alert)") { (vm) in + vm.identifier = "loading" + } + t.animate(rotate: true) + t.didTapped { [weak t] in + t?.pop() + f() + } + self?.simulateSync() + } + simulateSync() + } + f() + } else if row == 1 { + Alert.push(scene: .loading, title: "正在同步", message: "请稍等片刻") { (vm) in + vm.identifier = "loading" + }.animate(rotate: true) + DispatchQueue.main.asyncAfter(deadline: .now()+2) { + if let a = Alert.get("loading").last { + a.update { (vm) in + vm.scene = .success + vm.title = "同步成功" + vm.message = nil + } + } + } + } else if row == 2 { + Alert.push() { (vm) in + vm.identifier = "loading" + } + func loading() { + if let a = Alert.get("loading").last { + a.update { (vm) in + vm.scene = .loading + vm.title = "正在同步" + vm.message = "请稍等片刻" + vm.remove(action: 0, 1) + } + a.animate(rotate: true) + DispatchQueue.main.asyncAfter(deadline: .now()+2) { + a.update { (vm) in + vm.scene = .error + vm.title = "同步失败" + vm.message = "请检查网络是否通畅" + vm.add(action: .default, title: "重试") { + loading() + } + vm.add(action: .cancel, title: "取消", handler: nil) + } + } + } + } + loading() + } + } + + func simulateSync() { + DispatchQueue.main.asyncAfter(deadline: .now() + 15) { + if let t = Alert.get("loading").last { + t.update { (vm) in + vm.scene = .success + vm.title = "同步成功" + vm.message = "啊哈哈哈哈哈哈哈哈" + } + } + } + } + +} diff --git a/Example/Example/TestGuardVC.swift b/Example/Example/TestGuardVC.swift new file mode 100644 index 0000000..d5e6278 --- /dev/null +++ b/Example/Example/TestGuardVC.swift @@ -0,0 +1,100 @@ +// +// TestGuardVC.swift +// Example +// +// Created by xaoxuu on 2019/8/12. +// Copyright © 2019 Titan Studio. All rights reserved. +// + +import UIKit +import ProHUD +import Inspire + +class TestGuardVC: BaseListVC { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + override var titles: [String] { + return ["场景:删除菜单", "场景:升级至专业版", "场景:隐私协议页面"] + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + tableView.deselectRow(at: indexPath, animated: true) + let row = indexPath.row + if row == 0 { + Guard.push(to: self.navigationController) { (vm) in + let vc = vm.vc + vm.add(action: .destructive, title: "删除") { + Alert.push(scene: .delete, title: "确认删除", message: "此操作不可撤销") { (vm) in + let vc = vm.vc + vm.add(action: .destructive, title: "删除") { + vc?.pop() + } + vm.add(action: .cancel, title: "取消", handler: nil) + } + vc?.pop() + } + vm.add(action: .cancel, title: "取消", handler: nil) + } + } else if row == 1 { + // 可以通过id来避免重复 + if Guard.get("pro", from: self.navigationController).count == 0 { + Guard.push(to: self.navigationController) { (vm) in + let vc = vm.vc + vm.identifier = "pro" + vm.add(title: "升级至专业版") + vm.add(subTitle: "解锁功能") + vm.add(message: "功能1功能2...") + vm.add(subTitle: "价格") + vm.add(message: "只需一次性付费$2999即可永久享用。") + vm.add(action: .destructive, title: "购买") { [weak vc] in + Alert.push(scene: .confirm, title: "确认购买", message: "一旦购买拒不退款") { (vm) in + let vc = vm.vc + vm.add(action: .destructive, title: "购买") { [weak vc] in + vc?.update({ (vm) in + vm.scene = .success + vm.title = "购买成功" + vm.message = "感谢您的支持" + vm.remove(action: 1) + vm.update(action: 0, style: .default, title: "我知道了") { + vc?.pop() + } + }) + } + vm.add(action: .cancel, title: "取消", handler: nil) + } + vc?.pop() + } + vm.add(action: .cancel, title: "取消", handler: nil) + } + } + + } else if row == 2 { + let g = Guard.push(to: self.navigationController) { (vm) in + let vc = vm.vc + vc?.isFullScreen = true + let titleLabel = vm.add(title: "隐私协议") + titleLabel.snp.makeConstraints { (mk) in + mk.height.equalTo(44) + } + let tv = UITextView() + tv.backgroundColor = .white + vc?.textStack.addArrangedSubview(tv) + tv.text = "这里可以插入一个webView" + vm.add(message: "请认真阅读以上内容,当您阅读完毕并同意协议内容时点击接受按钮。") + + vm.add(action: .default, title: "接受") { [weak vc] in + vc?.pop() + } + + } + + } + } + + +} diff --git a/Example/Example/TestToastVC.swift b/Example/Example/TestToastVC.swift new file mode 100644 index 0000000..266b184 --- /dev/null +++ b/Example/Example/TestToastVC.swift @@ -0,0 +1,97 @@ +// +// TestToastVC.swift +// Example +// +// Created by xaoxuu on 2019/8/12. +// Copyright © 2019 Titan Studio. All rights reserved. +// + +import UIKit +import ProHUD + +class TestToastVC: BaseListVC { + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + override var titles: [String] { + return ["场景:正在同步", + "场景:同步成功", + "场景:同步失败", + "场景:设备电量过低", + "传入指定图标", + "禁止手势移除", + "组合使用示例"] + } + + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + tableView.deselectRow(at: indexPath, animated: true) + let row = indexPath.row + if row == 0 { + Toast.push(scene: .loading, title: "正在同步", message: "请稍等片刻") { (vm) in + vm.identifier = "loading" + }.animate(rotate: true) + simulateSync() + } else if row == 1 { + let t = Toast.push(scene: .success, title: "同步成功", message: "点击查看详情") + t.didTapped { [weak self, weak t] in + self?.presentEmptyVC(title: "详情") + t?.pop() + } + } else if row == 2 { + let t = Toast.push(scene: .error, title: "同步失败", message: "请稍后重试。点击查看详情") { (vm) in + vm.duration = 0 + } + t.didTapped { [weak self, weak t] in + self?.presentEmptyVC(title: "这是错误详情") + t?.pop() + } + + } else if row == 3 { + Toast.push(scene: .warning, title: "设备电量过低", message: "请及时对设备进行充电,以免影响使用。") + + } else if row == 4 { + Toast.push(scene: .default, title: "传入指定图标测试", message: "这是消息内容") { (vm) in + vm.icon = UIImage(named: "icon_download") + } + } else if row == 5 { + Toast.push(scene: .default, title: "禁止手势移除", message: "这条消息无法通过向上滑动移出屏幕。5秒后自动消失,每次拖拽都会刷新倒计时。") { (vm) in + vm.removable = false + vm.duration = 5 + } + } else if row == 6 { + let t = Toast.push(scene: .default, title: "好友邀请", message: "你收到一条好友邀请,点击查看详情。", duration: 10) + + t.didTapped { [weak t] in + t?.pop() + Alert.push(scene: .confirm, title: "好友邀请", message: "用户xxx想要添加你为好友,是否同意?") { (vm) in + let vc = vm.vc + vm.add(action: .default, title: "接受") { + vc?.pop() + Toast.push(scene: .success, title: "好友添加成功", message: "这是消息内容") + } + vm.add(action: .cancel, title: "拒绝") { + + } + } + } + } + + } + + func simulateSync() { + DispatchQueue.main.asyncAfter(deadline: .now() + 5) { + if let t = Toast.get("loading").last { + t.update { (vm) in + vm.scene = .success + vm.title = "同步成功" + vm.message = "啊哈哈哈哈哈哈哈哈" + } + } + } + } + +} diff --git a/Example/Example/ViewController.swift b/Example/Example/ViewController.swift index 3838190..c46bb40 100644 --- a/Example/Example/ViewController.swift +++ b/Example/Example/ViewController.swift @@ -8,8 +8,10 @@ import UIKit import ProHUD +import SnapKit -class ViewController: UIViewController { +class ViewController: BaseListVC { + override func viewDidLoad() { super.viewDidLoad() @@ -20,14 +22,17 @@ class ViewController: UIViewController { cfg.rootViewController = self cfg.alert { (a) in - a.duration = 1 + +// a.durationForScene { (s) -> TimeInterval? in +// return 1 +// } a.forceQuitTimer = 3 // a.iconSize = .init(width: 20, height: 80) // a.reloadData // a.iconSize = .init(width: 20, height: 80) - a.iconForScene { (s) -> UIImage? in - return UIImage(named: "icon_download") - } +// a.iconForScene { (s) -> UIImage? in +// return UIImage(named: "icon_download") +// } } cfg.toast { (t) in @@ -39,15 +44,21 @@ class ViewController: UIViewController { } } + } + override var titles: [String] { + return ["Toast", "Alert", "Guard"] + } - @IBAction func test(_ sender: UIButton) { -// testAlert() - testToast() -// testUpdateAction() -// testGuard() -// fastGuard() + override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + if indexPath.row == 0 { + navigationController?.pushViewController(TestToastVC(), animated: true) + } else if indexPath.row == 1 { + navigationController?.pushViewController(TestAlertVC(), animated: true) + } else { + navigationController?.pushViewController(TestGuardVC(), animated: true) + } } func testAlert() { @@ -59,53 +70,6 @@ class ViewController: UIViewController { vm.add(action: .default, title: "OK", handler: nil) } -// a.update() -// Alert.push(scene: .loading, title: "Loading") { (a) in -// a.animate(rotate: true) -// DispatchQueue.main.asyncAfter(deadline: .now()+1) { -// a.update { (vm) in -// vm.message = "请稍后片刻" -// } -// a.animate(rotate: true) -// } -// DispatchQueue.main.asyncAfter(deadline: .now()+2) { -// a.update { (vm) in -// vm.message = "请稍后片刻请稍后片刻" -// } -// a.animate(rotate: true) -// } -// DispatchQueue.main.asyncAfter(deadline: .now()+3) { -// a.update { (vm) in -// vm.scene = .success -// vm.add(action: .default, title: "OK") { [weak a] in -// a?.pop() -// } -// } -// } -// DispatchQueue.main.asyncAfter(deadline: .now()+4) { -// a.update { (vm) in -// vm.update(action: 0, style: .cancel, title: "Cancel", handler: nil) -// } -// } -// } -// Alert.push(scene: .delete, title: "确认删除", message: "此操作不可撤销!此操作不可撤销!此操作不可撤销!") { (a) in -// a.identifier = "" -// DispatchQueue.main.asyncAfter(deadline: .now()+1) { -// a.update { (vm) in -// vm.add(action: .destructive, title: "确认") { [weak a] in -// a?.update({ (vm) in -// vm.message = "但是饭撒 打算放过" -// vm.remove(action: 1) -// vm.update(action: 0, style: .destructive, title: "确认", handler: { -// a?.pop() -// }) -// }) -// } -// vm.add(action: .cancel, title: "取消", handler: nil) -// } -// } -// -// } } func testDelete() { diff --git a/Example/Example/header.gif b/Example/Example/header.gif deleted file mode 100644 index e62e8b1f04b0cae2916a5391405b39eb1624b0e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504686 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 z 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 !U!BijP#{L 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

YJXn$P!mmI`k7db3-6=Cc_JcI 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 z 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