🔨🔨🔨 This is work in progress 🔨🔨🔨
This is a UI widget for showing notification messages in iOS apps.
- It has built-in style presets for common types of messages: success, info, warning and error.
- The bar can have buttons with custom tap handlers.
- Bar styles can be customized.
- Includes customizable animations for showing and hiding the bar.
At last the Dodo said, `EVERYBODY has won, and all must have prizes.'
From Alice's Adventures in Wonderland.
view.dodo.success("Everybody has won and all must have prizes.")
view.dodo.info("Extinction is the rule. Survival is the exception.")
view.dodo.warning("This world is but a canvas to our imagination.")
view.dodo.error("The perception of beauty is a moral test.")
view.dodo.hide()
Note: if there is an existing notification bar in a UIView it will be replaced by the new one.
view.dodo.style.label.color = UIColor.whiteColor()
view.dodo.style.label.font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
view.dodo.style.bar.backgroundColor = DodoColor.fromHexString("#00000090")
view.dodo.style.bar.cornerRadius = 0
view.dodo.style.bar.marginToSuperview = CGSize(width: 0, height: 0)
view.dodo.style.leftButton.image = UIImage(named: "CloseIcon")
view.dodo.style.leftButton.tintColor = DodoColor.fromHexString("#FFFFFF90")
view.dodo.style.leftButton.onTap = { /* Button tapped */ }
// Use existing animations
view.dodo.style.bar.animationShow = DodoAnimations.fadeIn
view.dodo.style.bar.animationHide = DodoAnimations.fadeOut
// Turn off animation
view.dodo.style.bar.animationShow = DodoAnimations.noAnimation
view.dodo.style.bar.animationHide = DodoAnimations.noAnimation
// Privide custom animation
view.dodo.style.bar.animationShow = { view, locationTop, completed in
view.transform = CGAffineTransformMakeTranslation(0, locationTop ? -100 : 100)
UIView.animateWithDuration(0.5,
delay: 0,
usingSpringWithDamping: 1,
initialSpringVelocity: 1,
options: nil,
animations: {
view.transform = CGAffineTransformIdentity
},
completion: { finished in
completed()
}
)
}