Actualizado para la Swift 3:
utilizar por debajo de código simple para agregar la tarjeta de identificación en UIBarButtonItem;
// Variable Declartion
var badgeCount = Int()
// Instance Method
func setUpBadgeCountAndBarButton() {
// badge label
let label = UILabel(frame: CGRect(x: 10, y: -05, width: 25, height: 25))
label.layer.borderColor = UIColor.clear.cgColor
label.layer.borderWidth = 2
label.layer.cornerRadius = label.bounds.size.height/2
label.textAlignment = .center
label.layer.masksToBounds = true
label.textColor = .white
label.font = label.font.withSize(12)
label.backgroundColor = .red
label.text = "\(self.badgeCount)"
// button
let rightButton = UIButton(frame: CGRect(x: 0, y: 0, width: 35, height: 35))
rightButton.setBackgroundImage(UIImage(named: "notification_dash"), for: .normal)
rightButton.addTarget(self, action: #selector(notificationBarButtonClick), for: .touchUpInside)
rightButton.addSubview(label)
// Bar button item
let rightBarButtomItem = UIBarButtonItem(customView: rightButton)
navigationItem.rightBarButtonItem = rightBarButtomItem
}
// Call To Method
self.badgeCount = 11
self.setUpBadgeCountAndBarButton()
// Nota: Aumentar su tarjeta de identificación según usted recibió notification.You tener que escribir el código como por su decidido que su lógica es decir, la forma de mantener ese número recuento de placa en la base de datos.
Disfrute ..! Ð
Los resultados de este código crean un botón muy feo (pero funciona). Has sido advertido;) – Ralphleon
Esto funciona mejor en iOS 5 porque puedes tener más control sobre la apariencia de los botones. De lo contrario, terminas con botones feos en la barra de navegación. – Quentamia