How to add small red dot in UITabBarItem

tounaobun picture tounaobun · Jul 10, 2015 · Viewed 20.1k times · Source

How to add red dot on the top right side of the UITabBarItem. enter image description here

I have searched a while and some guys said this can be done setting Badge Value of the UITabBarItem.But when I give it a try and set badge value to empty space " ",the red dot is somewhat big.How can I get a proper one?Big thanks.

enter image description here

Answer

Max Chuquimia picture Max Chuquimia · Jul 24, 2018

If you want to avoid traversing subviews & potentially dangerous hacks in general, what I've done is set the badge's background colour to clear and used a styled bullet point to appear as a badge:

tabBarItem.badgeValue = "●"
tabBarItem.badgeColor = .clear
tabBarItem.setBadgeTextAttributes([NSAttributedStringKey.foregroundColor.rawValue: UIColor.red], for: .normal)

This seems more future-proof than the other answers.