BadgeHub alternatives and similar libraries
Based on the "UI" category.
Alternatively, view BadgeHub alternatives based on common mentions on social networks and blogs.
-
Charts
Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart. -
LTMorphingLabel
[EXPERIMENTAL] Graceful morphing effects for UILabel written in Swift. -
NVActivityIndicatorView
A collection of awesome loading animations -
Animated Tab Bar
:octocat: RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion -
folding-cell
:octocat: 📃 FoldingCell is an expanding content cell with animation made by @Ramotion -
JTAppleCalendar
The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable -
FSPagerView
FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner View、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. -
SwiftMessages
A very flexible message bar for iOS written in Swift. -
Macaw
Powerful and easy-to-use vector graphics Swift library with SVG support -
AMScrollingNavbar
Scrollable UINavigationBar that follows the scrolling of a UIScrollView -
SwiftEntryKit
SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps. -
Pagemenu
A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) -
SwipeCellKit
Swipeable UITableViewCell/UICollectionViewCell based on the stock Mail.app, implemented in Swift. -
TextFieldEffects
Custom UITextFields effects inspired by Codrops, built using Swift -
Alerts Pickers
Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date... -
SPPermission
Universal API for request permission and get its statuses. -
SideMenu
Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less. -
Scrollable-GraphView
An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. -
PermissionScope
A Periscope-inspired way to ask for iOS permissions. -
Material Components for iOS
[In maintenance mode] Modular and customizable Material Design UI components for iOS -
ESTabBarController
:octocat: ESTabBarController is a Swift model for customize UI, badge and adding animation to tabbar items. Support lottie! -
NotificationBanner
The easiest way to display highly customizable in app notification banners in iOS -
Instructions
Create walkthroughs and guided tours (coach marks) in a simple way, with Swift. -
ActiveLabel
UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift -
SlideMenuControllerSwift
iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure swift. -
TLYShyNavBar
Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! -
PKHUD
A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8. -
Siren
Notify users when a new version of your app is available and prompt them to upgrade. -
DGElasticPullToRefresh
Elastic pull to refresh for iOS developed in Swift -
PopupDialog
A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertController alert style. -
StarWars.iOS
This component implements transition animation to crumble view-controller into tiny pieces. -
Persei
Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift -
KMNavigationBarTransition
A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. And you don't need to write any line of code for it, it all happens automatically. -
Whisper
:mega: Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside -
CircleMenu
:octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Swift UI library made by @Ramotion -
RazzleDazzle
A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. -
PaperOnboarding
:octocat: PaperOnboarding is a material design UI slider. Swift UI library by @Ramotion -
XLActionController
Fully customizable and extensible action sheet controller written in Swift
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of BadgeHub or a related project?
README
BadgeHub
A way to quickly add a notification badge icon to any view.
Demo/Example
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
Requirements
- iOS 10.0 or later
- Swift 5+
- Xcode 10+
Installation
CocoaPods
BadgeHub is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'BadgeHub'
Manual Installation
Just drag the BadgeHub.swift
files into your project.
Usage
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()
Increase count by some int value.
hub.increment(by: Int)
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
Customization
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)
Animations
Pop out and pop in the badge.
hub.pop()
Make badge blinking.
hub.blink()
Animation that jumps similar to macOS dock icons.
hub.bump()
TROUBLESHOOTING
Notification isn't showing up!
- If the hub value is < 1, the circle hides. Try calling
increment()
. - Make sure the view you set the hub to is visible (i.e. did you call
self.view.addSubview(yourView)
?). - Make sure you didn't call
hideCount()
anywhere. CallshowCount()
to counter this.
Badge is not hiding even after setting value to 0
- Make sure you are setting zero count on correct BadgeHub instance.
- Try calling
checkZero()
method after setting count to 0. - Varify if current count is <= 0 by calling
getCurrentCount()
method. - Keep in mind that
hideCount()
method is for hiding just count, not the badge. To hide the badge, simply callhide()
.
It isn't incrementing / decrementing properly!
- Any count < 1 doesn't show up. If you need help customizing this, reach out to me!
The circle is in a weird place
- If you want to resize the circle, use
scaleCircleSize(by scale: CGFloat)
. 0.5 will give you half the size, 2 will give you double. - If the circle is just a few pixels off, use
moveCircleBy(x: CGFloat, y: CGFloat)
. This shifts the circle by the number of pixels given. - If you want to manually set the circle, call
setCircleAtFrame(_ frame: CGRect)
and give it your own CGRect.
Something else isn't working properly
- Use GitHub's issue reporter to submit a new issue.
- If you think you fix that, feel free to open a pull request fixing the same.
- Shoot me an email at [email protected].
Author
Jogendra Kumar
BUY ME A COFFEE?
If you loved my work, Buy me a Coffee here:
License
BadgeHub is available under the MIT license. See the [LICENSE](LICENSE) file for more info.
*Note that all licence references and agreements mentioned in the BadgeHub README section above
are relevant to that project's source code only.