TMBadgeView
open class TMBadgeView : UIView
TMBarButton supports displaying badges via an TMBadgeView which is available as .badge on every button
Note - it is at the discretion of the button to layout the badge, and some types may not support badging.
Displaying a Badge
Setting the value of the badge is defined by the item the bar is displaying:
func barItem(for bar: TMBar, at index: Int) -> TMBarItemable {
return TMBarItem(title: "My Page", badgeValue: "1")
}
TMBarItemable also supports these values being dynamically updated, so for example to update the badge value for a child view controller:
class ChildViewController: UIViewController() {
var badgeCount = 0
func increaseBadgeCount() {
badgeCount += 1
// Update items in every bar for this page.
tabmanBarItems?.forEach({ $0.badgeValue = "\(badgeCount)" })
}
}
Unfortunately UINavigationItem and UITabBarItem don’t support this dynamic update behavior.
Customization
Customizing the TMBadgeView can all be done via .badge on TMBarButton.
bar.buttons.customize { (button) in
button.badge.tintColor = .blue
}
-
Font for the label.
Declaration
Swift
open var font: UIFont { get set } -
Text color of the label.
Declaration
Swift
open var textColor: UIColor { get set } -
Tint which is used as background color.
Declaration
Swift
open override var tintColor: UIColor! { get set } -
Content Inset around the badge label.
Defaults to
UIEdgeInsets(top: 2.0, left: 4.0, bottom: 2.0, right: 4.0).Declaration
Swift
open var contentInset: UIEdgeInsets { get set }
View on GitHub
Install in Dash
TMBadgeView Class Reference