【问题标题】:Add a badge to UIButtonitem with MIBadgeButton-Swift使用 MIBadgeButton-Swift 向 UIButtonitem 添加徽章
【发布时间】:2016-03-21 05:33:20
【问题描述】:

我正在尝试向我的 UIBarButtonItem 添加一个徽章,为此我找到了这个 github:

MIBadgeButton-Swift

但我不知道如何使用它。

这是我制作自定义 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 制作徽章?

【问题讨论】:

    标签: ios swift uinavigationcontroller uibarbuttonitem


    【解决方案1】:

    这是自定义视图和故事板的两个示例

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

    代码

    @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"
    }
    

    输出

    你也可以使用ENMBadgedBarButtonItem-Swift

    【讨论】:

      【解决方案2】:

      试试这个。

      //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
      

      【讨论】:

      • 我刚刚编辑了答案。如果您有任何疑问,请告诉我
      猜你喜欢
      • 2020-11-03
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 2015-09-23
      • 2015-03-16
      • 2012-03-06
      • 1970-01-01
      • 2021-12-09
      相关资源
      最近更新 更多