BadgeHub
为任何视图快速添加通知徽标图标的方法。
演示/示例
演示用
$ pod try BadgeHub要运行示例项目,请克隆仓库,然后首先从示例目录运行pod install
$ cd Example$ pod install如果没有安装CocoaPods,可以使用以下命令安装:[sudo] gem install cocoapods.
$ open BadgeHub.xcworkspace需求
- iOS 10.0或更高版本
- Swift 5+
- Xcode 10+
安装
CocoaPods
BadgeHub可通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中
pod 'BadgeHub'手动安装
只需将 BadgeHub.swift 文件拖入到您的项目中。
用法
初始化。
let hub = BadgeHub(view: yourView) // Initially count set to 0设置标签到按钮条目的初始化器。
let hub = BadgeHub(barButtonItem: UIBarButtonItem)将计数值增加 1。
hub.increment()增加一些整数值的计数值。
hub.increment(by: Int)将计数值减少 1。
hub.decrement()减少一些整数值的计数值。
hub.decrement(by: Int)设置计数值为静态整数值。
hub.setCount(newCount: Int)获取徽章当前计数值。
hub.getCurrentCount() // returns Int value of current count.组合动作
hub.increment()
hub.pop()
hub.blink()别忘了导入 BadgeHub
定制
更改通知圆环的颜色,同时更改计数标签的文本颜色。
hub.setCircleColor(_ circleColor: UIColor?, label labelColor: UIColor?)更改圆环的边框颜色和边框宽度。
hub.setCircleBorderColor(_ color: UIColor?, borderWidth width: CGFloat)设置通知徽章圆环相对于视图的边框。
hub.setCircleAtFrame(_ frame: CGRect)移动圆环(左右或上下)。
hub.moveCircleBy(x: CGFloat, y: CGFloat)更改圆环的大小。设置比例因子为 1 时无效果。
hub.scaleCircleSize(by scale: CGFloat)隐藏计数值(空徽章)。请注意,此方法仅用于隐藏计数值,而不是徽章。
hub.hideCount()再次在徽章上显示计数值。
hub.showCount()从视图中隐藏徽章。
hub.hide()再次显示徽章。如果当前的徽章计数值 <= 0,徽章将保持隐藏状态。
hub.show()设置可显示的最大计数值。此方法可以用于限制徽章上可设置的最大计数值。最大计数值的默认值为 100000。如果当前计数值增加到超过最大计数值,徽章将显示为 500+(如果最大计数值为 500)。
hub.setMaxCount(to: Int)设置计数值标签的字体。
hub.setCountLabelFont(_ font: UIFont?)获取当前设置的计数值标签字体。
hub.getCountLabelFont()设置徽章的透明度。
hub.setAlpha(alpha: CGFloat)动画
弹出和收起徽章。
hub.pop()使徽章闪烁。
hub.blink()类似于 macOS 桌面图标跳动的动画。
hub.bump()故障排除
通知没有显示出来!
- 如果枢纽值小于1,圆圈就会隐藏。尝试调用
increment()。 - 确保您设置的枢纽视图是可见的(例如,您是否调用了
self.view.addSubview(yourView)?)。 - 确保您没有在任何地方调用过
hideCount()。调用showCount()来抵消这个操作。
即使将值设置为0,徽章也不会隐藏
- 请确保您是在正确的BadgeHub实例上设置零计数。
- 尝试在将计数设置为0后调用
checkZero()方法。 - 通过调用
getCurrentCount()方法验证当前计数是否 <= 0。 - 请注意,
hideCount()方法仅用于隐藏计数,而不是徽章。要隐藏徽章,只需调用hide()。
增加/减少操作不正常!
- 任何 < 1 的计数都不会显示出来。如果您需要帮助自定义此功能,请与我联系!
圆圈位于奇怪的位置
- 如果您想调整圆圈的大小,请使用
scaleCircleSize(by scale: CGFloat)。0.5会得到一半的大小,2会得到双倍大小。 - 如果圆圈只是偏了几像素,请使用
moveCircleBy(x: CGFloat, y: CGFloat)。这将根据指定的像素数移动圆圈。 - 如果您想手动设置圆圈,请调用
setCircleAtFrame(_ frame: CGRect)并传入自己的 CGRect。
其他事情操作不正常
- 使用GitHub的问题报告器提交新的问题。
- 如果您认为您已经修复了它,请随意提交修复同样问题的拉取请求。
- 请通过以下电子邮件发给我: [email protected]。
作者
|
乔恩德拉·库马尔 |
买我一杯咖啡?
如果您喜欢我的工作,在这里买我一杯咖啡
许可证
BadgeHub 采用 MIT 许可协议。有关更多信息,请参阅 LICENSE 文件。










