MKToolTip
is a customizable tooltip view written in Swift that can be used as a informative tip inside your both Swift and Objective-C projects.
- iOS 9.0+
To integrate MKToolTip into your Xcode project using CocoaPods, specify it in your Podfile
:
pod 'MKToolTip'
Then, run the following command:
$ pod install
To integrate MKToolTip into your Xcode project using Carthage, specify it in your Cartfile
:
github "metinkilicaslan/MKToolTip"
Run carthage update
to build the framework and drag the built MKToolTip.framework
into your Xcode project.
If you prefer not to use dependency managers, you can integrate MKToolTip into your project manually.
- First you should customize the preferences:
let gradientColor = UIColor(red: 0.886, green: 0.922, blue: 0.941, alpha: 1.000)
let gradientColor2 = UIColor(red: 0.812, green: 0.851, blue: 0.875, alpha: 1.000)
let preference = ToolTipPreferences()
preference.drawing.bubble.gradientColors = [gradientColor, gradientColor2]
preference.drawing.arrow.tipCornerRadius = 0
preference.drawing.message.color = .black
- Secondly call the
showToolTip(identifier: title: message: arrowPosition: preferences: delegate:)
method:
let view = UIView()
view.showToolTip(identifier: "identifier", title: "Dapibus", message: "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.", arrowPosition: .top)
public protocol MKToolTipDelegate: class {
func toolTipViewDidAppear(for identifier: String)
func toolTipViewDidDisappear(for identifier: String, with timeInterval: TimeInterval)
}
public extension UIView {
public func showToolTip(identifier: String, title: String? = nil, message: String, arrowPosition: MKToolTip.ArrowPosition, preferences: ToolTipPreferences = ToolTipPreferences(), delegate: MKToolTipDelegate? = nil)
}
public extension UIBarItem {
public func showToolTip(identifier: String, title: String? = nil, message: String, arrowPosition: MKToolTip.ArrowPosition, preferences: ToolTipPreferences = ToolTipPreferences(), delegate: MKToolTipDelegate? = nil)
}
MIT License, Copyright (c) 2018 Metin Kilicaslan, @metinkilicaslan