BadgeHub icon indicating copy to clipboard operation
BadgeHub copied to clipboard

init?(barButtonItem: UIBarButtonItem) create nil BadgeHub

Open pekanchuan opened this issue 2 years ago • 2 comments

When the barButtonItem create by storyboard, init?(barButtonItem: UIBarButtonItem) create not nil BadgeHub.

But when the barButtonItem create by code in viewDidLoad function, init?(barButtonItem: UIBarButtonItem) create a nil BadgeHub, but barButtonItem is not nil.

    let hub = BadgeHub(barButtonItem: testItem)
    hub?.increment()
    
    let leftItem = UIBarButtonItem(title: "Badge", style: .plain, target: self, action: nil)
    navigationItem.leftBarButtonItem = leftItem
    
    let itemHub = BadgeHub(barButtonItem: leftItem)
    itemHub?.increment(by: 10)

hub create by Storyboard's UIBarButtonItem ,itemHub create by code UIBarButtonItem: leftItem

hub is not nil, itemHub is nil

pekanchuan avatar Aug 18 '21 09:08 pekanchuan

every get an answer to this? I refactored my code and am now also running into this?

justdan0227 avatar Oct 21 '21 19:10 justdan0227

I think it has to do with the fact that it uses a private call to get the view from the bar button item:

value(forKey: "view")

Might try BadgedBarButtonItem

justdan0227 avatar Oct 21 '21 20:10 justdan0227