欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS 中Swift仿微信添加提示小红点功能(无数字)

程序员文章站 2024-02-13 08:55:46
具体内容详情如下所示: 以分类的方式实现 代码 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仿微信添加提示小红点功能(无数字)

小红点

以上所述是小编给大家介绍的ios 中swift仿微信添加提示小红点功能(无数字),希望对大家有所帮助