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")
To remove the badge:
view.badge(text: nil)
var badgeAppearnce = BadgeAppearance()
badgeAppearance.backgroundColor = UIColor.blue //default is red
badgeAppearance.textColor = UIColor.white // default is white
badgeAppearance.textAlignment = .center //default is center
badgeAppearance.textSize = 15 //default is 12
badgeAppearance.distenceFromCenterX = 15 //default is 0
badgeAppearance.distenceFromCenterY = -10 //default is 0
badgeAppearance.allowShadow = true
badgeAppearance.borderColor = .blue
badgeAppearance.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.
Some of the code that was used in this extension was originally written by mustafaibrahim989 in the library MIBadgeButton-Swift.