View to show small text information blocks with arrow pointed to another view.In most cases it will be a button that was pressed.
To run the example project, clone the repo, and run pod install
from the Example directory first.
Swift3 support implemented in this branch.
InfoView is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "InfoView"
- Download and drop
/InfoView
folder in your project. - Congratulations!
let infoView = InfoView(text: "Your message here")
infoView.show(onView: view, centerView: button)
where view
is view of your visible view controller, centerView
is a view where arrow will be pointed to
You can set a delegate and get events when view will appear/hide:
infoView.delegate = self
// In your delegate class
func infoViewDidShow(view: InfoView) {
print("Now visible")
}
Set arrow position. In this case you will be responsible for possible errors (for example if there are not enough space to show text etc.)
infoView.arrowPosition = .Left
Set animation:
infoView.animation = InfoViewAnimation.None // Without animation
infoView.animation = InfoViewAnimation.FadeIn // FadeIn animation
infoView.animation = InfoViewAnimation.FadeInAndScale // FadeIn and Scale animation
Set custom font:
infoView.font = UIFont(name: "AvenirNextCondensed-Regular", size: 16)
Set custom text color:
infoView.textColor = UIColor.grayColor()
Set custom background color:
infoView.backgroundColor = UIColor.blackColor()
Set custom layer properties:
infoView.layer.shadowColor = UIColor.whiteColor().CGColor
infoView.layer.cornerRadius = 15
infoView.layer.shadowRadius = 5
infoView.layer.shadowOffset = CGPoint(x: 2, y: 2)
infoView.layer.shadowOpacity = 0.5
Hide InfoView after delay automatically
infoView.hideAfterDelay = 2
- More animations
- Support long text messages
- Support NSAttributedString's for formatted text
Anatoliy Voropay, [email protected]
Thank you all!
InfoView is available under the MIT license. See the LICENSE file for more info.