id 包含 .rotate 的会自动旋转

This commit is contained in:
xaoxuu 2020-06-23 20:16:05 +08:00
parent 3d385d3e11
commit 539ad04623
4 changed files with 48 additions and 18 deletions

View File

@ -313,6 +313,11 @@ fileprivate var privReloadData: (ProHUD.Alert) -> Void = {
// //
vc.vm.updateDuration() vc.vm.updateDuration()
// id .rotate
if vc.vm.scene.identifier.contains(".rotate") {
vc.startRotate()
}
// //
vc.vm.hideTimerBlock?.cancel() vc.vm.hideTimerBlock?.cancel()
if vc.buttonEvents.count == 0 { if vc.buttonEvents.count == 0 {

View File

@ -185,14 +185,14 @@ public extension Guard {
/// - identifier: /// - identifier:
/// - toast: /// - toast:
/// - Returns: /// - Returns:
@discardableResult class func push(_ identifier: String, to viewController: UIViewController? = nil, _ instance: @escaping (Guard) -> Void) -> Guard { @discardableResult class func push(_ identifier: String, to viewController: UIViewController? = nil, _ instance: ( (Guard) -> Void)? = nil) -> Guard {
if let g = find(identifier).last { if let g = find(identifier).last {
instance(g) instance?(g)
return g return g
} else { } else {
return Guard() { (gg) in return Guard() { (gg) in
gg.identifier = identifier gg.identifier = identifier
instance(gg) instance?(gg)
}.push(to: viewController) }.push(to: viewController)
} }
} }

View File

@ -18,3 +18,13 @@ extension ProHUD {
return Inspire.shared.screen.safeAreaInsets return Inspire.shared.screen.safeAreaInsets
} }
} }
func == (left: ProHUD.Scene, right: ProHUD.Scene) -> Bool {
return left.identifier == right.identifier
}
func != (left: ProHUD.Scene, right: ProHUD.Scene) -> Bool {
return left.identifier != right.identifier
}

View File

@ -40,61 +40,76 @@ public extension ProHUD.Scene {
id = identifier id = identifier
} }
static var `default`: ProHUD.Scene { static var `default`: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "default") var scene = ProHUD.Scene.init(identifier: "prohud.default")
scene.image = ProHUD.image(named: "prohud.note") scene.image = ProHUD.image(named: "prohud.note")
return scene return scene
} }
static var message: ProHUD.Scene { static var message: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "message") var scene = ProHUD.Scene.init(identifier: "prohud.message")
scene.image = ProHUD.image(named: "prohud.message") scene.image = ProHUD.image(named: "prohud.message")
return scene return scene
} }
static var loading: ProHUD.Scene { static var loading: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "loading") var scene = ProHUD.Scene.init(identifier: "prohud.loading.rotate")
scene.image = ProHUD.image(named: "prohud.rainbow.circle")
scene.title = "Loading"
scene.alertDuration = 0 scene.alertDuration = 0
scene.toastDuration = 0 scene.toastDuration = 0
scene.image = ProHUD.image(named: "prohud.rainbow.circle")
return scene return scene
} }
static var success: ProHUD.Scene { static var success: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "success") var scene = ProHUD.Scene.init(identifier: "prohud.success")
scene.alertDuration = 2
scene.image = ProHUD.image(named: "prohud.checkmark") scene.image = ProHUD.image(named: "prohud.checkmark")
scene.title = "Success"
scene.alertDuration = 2
return scene return scene
} }
static var warning: ProHUD.Scene { static var warning: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "warning") var scene = ProHUD.Scene.init(identifier: "prohud.warning")
scene.image = ProHUD.image(named: "prohud.exclamationmark")
scene.title = "Warning"
scene.message = "Something happened."
scene.alertDuration = 2 scene.alertDuration = 2
scene.toastDuration = 5 scene.toastDuration = 5
scene.image = ProHUD.image(named: "prohud.exclamationmark")
return scene return scene
} }
static var error: ProHUD.Scene { static var error: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "error") var scene = ProHUD.Scene.init(identifier: "prohud.error")
scene.image = ProHUD.image(named: "prohud.xmark")
scene.title = "Error"
scene.message = "Please try again later."
scene.alertDuration = 2 scene.alertDuration = 2
scene.toastDuration = 5 scene.toastDuration = 5
return scene
}
static var failure: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "prohud.failure")
scene.image = ProHUD.image(named: "prohud.xmark") scene.image = ProHUD.image(named: "prohud.xmark")
scene.title = "Failure"
scene.message = "Please try again later."
scene.alertDuration = 2
scene.toastDuration = 5
return scene return scene
} }
static var confirm: ProHUD.Scene { static var confirm: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "confirm") var scene = ProHUD.Scene.init(identifier: "prohud.confirm")
scene.image = ProHUD.image(named: "prohud.questionmark")
scene.alertDuration = 2 scene.alertDuration = 2
scene.toastDuration = 5 scene.toastDuration = 5
scene.image = ProHUD.image(named: "prohud.questionmark")
return scene return scene
} }
static var privacy: ProHUD.Scene { static var privacy: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "privacy") var scene = ProHUD.Scene.init(identifier: "prohud.privacy")
scene.image = ProHUD.image(named: "prohud.privacy")
scene.alertDuration = 2 scene.alertDuration = 2
scene.toastDuration = 5 scene.toastDuration = 5
scene.image = ProHUD.image(named: "prohud.privacy")
return scene return scene
} }
static var delete: ProHUD.Scene { static var delete: ProHUD.Scene {
var scene = ProHUD.Scene.init(identifier: "delete") var scene = ProHUD.Scene.init(identifier: "prohud.delete")
scene.image = ProHUD.image(named: "prohud.trash")
scene.alertDuration = 2 scene.alertDuration = 2
scene.toastDuration = 5 scene.toastDuration = 5
scene.image = ProHUD.image(named: "prohud.trash")
return scene return scene
} }