UIView extension that adds a notification badge.
The code that was used in this extension was originally written by mustafaibrahim989 in the library MIBadgeButton-Swift.
pod 'EasyNotificationBadge'
Or simply drag and drop NSBadge.swift
to your project.
To add a badge with default settings use this (This also applies to updating an existing badge):
view.badge(text: "5")
barButtonItem.badge(text: "7")
To remove the badge:
view.badge(text: nil)
barButtonItem.badge(text: nil)
let badgeAppearnce = BadgeAppearnce()
appearnce.backgroundColor = UIColor.blue //default is red
appearnce.textColor = UIColor.white // default is white
appearnce.alignment = .center //default is center
appearnce.textSize = 15 //default is 12
appearnce.distenceFromCenterX = 15 //default is 0
appearnce.distenceFromCenterY = -10 //default is 0
appearnce.allowShadow = true
appearnce.borderColor = .blue
appearnce.borderWidth = 1
view.badge(text: "Your text", appearnce: badgeAppearnce)
When calling .badge
make sure that the view has already been loaded and has a superview. Setting a badge on a view that hasn't fully loaded can lead to unexpected results.