- April 27, 2024
- Mins Read
A way to quickly add a notification badge icon to any view.
For demo:
$ pod try BadgeHub
To run the example project, clone the repo, and run pod install
from the Example directory first.
$ cd Example
$ pod install
If you don’t have CocoaPods installed, grab it with [sudo] gem install cocoapods
.
$ open BadgeHub.xcworkspace
BadgeHub is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod ‘BadgeHub’
Just drag the BadgeHub.swift
files into your project.
Initialization.
let hub = BadgeHub(view: yourView) // Initially count set to 0
Initializer for setting badge to bar button items.
let hub = BadgeHub(barButtonItem: UIBarButtonItem)
Increase count value by 1.
hub.increment()
Decrease count value by 1.
hub.decrement()
Decrease count by some int value.
hub.decrement(by: Int)
Set count to static integer value.
hub.setCount(newCount: Int)
Get value of current count on badge.
hub.getCurrentCount() // returns Int value of current count.
Combine actions
hub.increment()
hub.pop()
hub.blink()
Don’t forget to import BadgeHub
Change the color of the notification circle, also the text color of count label.
hub.setCircleColor(_ circleColor: UIColor?, label labelColor: UIColor?)
Change the border color and border width of the circle
hub.setCircleBorderColor(_ color: UIColor?, borderWidth width: CGFloat)
Set the frame of the notification badge circle relative to the view.
hub.setCircleAtFrame(_ frame: CGRect)
Move the circle (left/right or up/down).
hub.moveCircleBy(x: CGFloat, y: CGFloat)
Changes the size of the circle. setting a scale of 1 has no effect.
hub.scaleCircleSize(by scale: CGFloat)
Hide the count (Blank Badge). Keep in mind that this method is for hiding just count, not the badge.
hub.hideCount()
Show count again on the badge.
hub.showCount()
Hide the badge from your view.
hub.hide()
Show again the badge. Badge will staye hidden even after calling this method, if current count on badge is <= 0.
hub.show()
Set max count which can be displayed. This method can be used to restrict the maximum count can be set on the badge. Default value for max count is 100000
. If you increase current count to more than max count, badge will display it like 500+
(if max count is 500).
hub.setMaxCount(to: Int)
Set the font of the count label.
hub.setCountLabelFont(_ font: UIFont?)
Get the current font set on the count label.
hub.getCountLabelFont()
Set alpha to badge.
hub.setAlpha(alpha: CGFloat)
Pop out and pop in the badge.
hub.pop()
Make badge blinking.
hub.blink()
Animation that jumps similar to macOS dock icons.
hub.bump()
Notification isn’t showing up!
increment()
.self.view.addSubview(yourView)
?).hideCount()
anywhere. Call showCount()
to counter this.Badge is not hiding even after setting value to 0
checkZero()
method after setting count to 0.getCurrentCount()
method.hideCount()
method is for hiding just count, not the badge. To hide the badge, simply call hide()
.It isn’t incrementing / decrementing properly!
The circle is in a weird place
scaleCircleSize(by scale: CGFloat)
. 0.5 will give you half the size, 2 will give you double.moveCircleBy(x: CGFloat, y: CGFloat)
. This shifts the circle by the number of pixels given.setCircleAtFrame(_ frame: CGRect)
and give it your own CGRect.Something else isn’t working properly
Horizon SDK is a state of the art real-time video recording / photo shooting iOS library. Some of the features ...