iOS 中Swift仿微信添加提示小红点功能(无数字)
程序员文章站
2023-12-20 08:11:22
具体内容详情如下所示:
以分类的方式实现
代码
uitabbar+extenstion.swift
fileprivate let lxffla...
具体内容详情如下所示:
- 以分类的方式实现
代码
uitabbar+extenstion.swift
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() } } } }
使用
// 默认4个tabbaritem self.tabbarcontroller?.tabbar.showbadgon(index: 2) // 如果不是则用这个方法 // self.tabbarcontroller?.tabbar.showbadgon(index: int, tabbaritemnums: cgfloat)
效果
小红点
以上所述是小编给大家介绍的ios 中swift仿微信添加提示小红点功能(无数字),希望对大家有所帮助