具体内容详情如下所示:
- 以分类的方式实现
代码
uitabbar+extenstion.swift
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
fileprivate let lxfflag: int = 666
extension uitabbar {
// mark:- 显示小红点
func showbadgon(index itemindex: int, tabbaritemnums: cgfloat = 4.0) {
// 移除之前的小红点
self.removebadgeon(index: itemindex)
// 创建小红点
let bageview = uiview()
bageview.tag = itemindex + lxfflag
bageview.layer.cornerradius = 5
bageview.backgroundcolor = uicolor.red
let tabframe = self.frame
// 确定小红点的位置
let percentx: cgfloat = (cgfloat(itemindex) + 0.59) / tabbaritemnums
let x: cgfloat = cgfloat(ceilf(float(percentx * tabframe.size.width)))
let y: cgfloat = cgfloat(ceilf(float(0.115 * tabframe.size.height)))
bageview.frame = cgrect(x: x, y: y, width: 10, height: 10)
self.addsubview(bageview)
}
// mark:- 隐藏小红点
func hidebadg(on itemindex: int) {
// 移除小红点
self.removebadgeon(index: itemindex)
}
// mark:- 移除小红点
fileprivate func removebadgeon(index itemindex: int) {
// 按照tag值进行移除
_ = subviews.map {
if $0.tag == itemindex + lxfflag {
$0.removefromsuperview()
}
}
}
}
|
使用
?| 1 2 3 4 |
// 默认4个tabbaritem
self.tabbarcontroller?.tabbar.showbadgon(index: 2)
// 如果不是则用这个方法
// self.tabbarcontroller?.tabbar.showbadgon(index: int, tabbaritemnums: cgfloat)
|
效果

小红点
以上所述是小编给大家介绍的ios 中swift仿微信添加提示小红点功能(无数字),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.jianshu.com/p/807cddad469a








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。