Ios 使用MIBadgeButton Swift向UIButtonitem添加徽章

Ios 使用MIBadgeButton Swift向UIButtonitem添加徽章,ios,swift,uinavigationcontroller,uibarbuttonitem,Ios,Swift,Uinavigationcontroller,Uibarbuttonitem,我正试图在我的UIBarbuttoneim中添加一个徽章,为此我在github中找到了一个: 但我不知道如何使用它 这是我定制UIBarButtonItem的代码: let shopingCartBTN = UIButton(type: UIButtonType.Custom) shopingCartBTN.setImage(UIImage(named: "shopingCarBarIcon"), forState: UIControlState.Normal) shopingCartBTN.

我正试图在我的UIBarbuttoneim中添加一个徽章,为此我在github中找到了一个:

但我不知道如何使用它

这是我定制UIBarButtonItem的代码:

let shopingCartBTN = UIButton(type: UIButtonType.Custom)
shopingCartBTN.setImage(UIImage(named: "shopingCarBarIcon"), forState: UIControlState.Normal)
shopingCartBTN.imageView?.image = UIImage(named: "shopingCarBarIcon")
shopingCartBTN.frame = CGRectMake(0, 0, 60, 30)//Just increase the width of button
shopingCartBTN.setTitle("5", forState: .Normal)
shopingCartBTN.addTarget(self, action: "", forControlEvents: UIControlEvents.TouchUpInside)
let customBarItem = UIBarButtonItem(customView: shopingCartBTN)
self.navigationItem.leftBarButtonItem = customBarItem;
我如何使用MIBadgeButton Swift为我的UIBarButtonItem制作徽章?

试试这个

//Property
    var cartBarbuttonItem:MIBadgeButton?

self.cartBarbuttonItem = MIBadgeButton(frame: CGRectMake(40, 5, 40, 44))
self.cartBarbuttonItem?.initWithFrame(frame: CGRectMake(40, 5, 40, 44), withBadgeString: "0", withBadgeInsets:  UIEdgeInsetsMake(15, 2, 0, 15))
self.cartBarbuttonItem?.setImage(UIImage(named: "test"), forState: .Normal)
self.cartBarbuttonItem?.setImage(UIImage(named: "test"), forState: .Selected)
self.cartBarbuttonItem?.addTarget(self, action: Selector("loadCart"), forControlEvents: UIControlEvents.TouchUpInside)

self.navigationItem.setLeftBarButtonItem = self.cartBarbuttonItem

下面是两个自定义视图和来自故事板的示例

通过设置自定义类从情节提要:

代码 输出


您也可以使用

我刚刚编辑了答案。如果您有任何疑问,请告诉我
@IBOutlet var btnRightBadge: MIBadgeButton!

override func viewDidLoad() {
    super.viewDidLoad()

    //Custom
    let badgeButton : MIBadgeButton = MIBadgeButton(frame: CGRectMake(0, 0, 40, 40))
    badgeButton.setTitle("T1", forState: UIControlState.Normal)
    badgeButton.setTitleColor(UIColor.blackColor(), forState: UIControlState.Normal)
    badgeButton.badgeString = "1";
    let barButton : UIBarButtonItem = UIBarButtonItem(customView: badgeButton)
    self.navigationItem.leftBarButtonItem = barButton

    //From Storyboard
    btnRightBadge.badgeString = "5"
}