首页 > 系统 > iOS > 正文

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

2020-07-26 02:49:49
字体:
来源:转载
供稿:网友

具体内容详情如下所示:

  • 以分类的方式实现

代码

UITabBar+Extenstion.swift

fileprivate let lxfFlag: Int = 666extension 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个tabbarItemself.tabBarController?.tabBar.showBadgOn(index: 2)// 如果不是则用这个方法// self.tabBarController?.tabBar.showBadgOn(index: Int, tabbarItemNums: CGFloat)

效果

小红点

以上所述是小编给大家介绍的iOS 中Swift仿微信添加提示小红点功能(无数字),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表