嗨嗨我目前正在研究swift 2.0 BadgeBarButtonItem
在swift 1.2中工作得很好,但在2.0 ViewController
第一次加载时它显示正方形,然后第二次显示为圆形。
我从控制器viewDidLoad()
调用以下方法 func createBadgeButton(customButton: UIButton) -> BBBadgeBarButtonItem {
var barButton: BBBadgeBarButtonItem?
customButton.setImage(UIImage(named: "nav_cart.png"), forState: UIControlState.Normal)
barButton = BBBadgeBarButtonItem(customView: customButton)
var cartBadgeNumber: Int = 12
barButton!.badgeValue = String(cartBadgeNumber)
barButton!.badgeOriginX = 22
barButton!.badgeOriginY = -7
barButton!.badgeFont = UIFont(name: "HelveticaNeue-Bold", size: 11)
barButton!.badgeMinSize = 6.0
barButton!.badgeBGColor = UIColor.brownColor()
barButton!.badgeTextColor = UIColor.whiteColor()
barButton?.shouldAnimateBadge = true
barButton!.shouldHideBadgeAtZero = true
return barButton!
}
答案 0 :(得分:3)
有一种方法可以处理它,实际上我们需要做的是再次将值更新为self。所以,我编辑了[self updateBadgeFrame];
的库,并将以下行添加到setBadgeValue()函数中。它对我有用。
def all_dicts(d):
yield d
for v in d.values():
if isinstance(v, dict):
yield from all_dicts(v)
data = dict(foo=12, bar=dict(dd=12), ex=dict(a=dict(b=dict(v=12))))
for d in all_dicts(data):
for k, v in d.items():
if v == 12:
d[k] = 33