<option id="tpnx7"><p id="tpnx7"><pre id="tpnx7"></pre></p></option>
<output id="tpnx7"></output>
<output id="tpnx7"><ruby id="tpnx7"></ruby></output>
    <output id="tpnx7"></output><acronym id="tpnx7"><button id="tpnx7"><div id="tpnx7"></div></button></acronym><code id="tpnx7"><menuitem id="tpnx7"></menuitem></code>

    首页 > 上网技巧 > 电脑小技巧 > iOS中Swift仿微信添加小红点提示功能

    iOS中Swift仿微信添加小红点提示功能

    时间:2019-03-20 14:52 作者:QQ地带 我要评论

     a具体内容详情如下所示:

     
    以分类的方式实现
    代码
     
    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)

    标签: swift
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%

    Google提供的广告

    广东十分快乐开奖结果
    <option id="tpnx7"><p id="tpnx7"><pre id="tpnx7"></pre></p></option>
    <output id="tpnx7"></output>
    <output id="tpnx7"><ruby id="tpnx7"></ruby></output>
    <output id="tpnx7"></output><acronym id="tpnx7"><button id="tpnx7"><div id="tpnx7"></div></button></acronym><code id="tpnx7"><menuitem id="tpnx7"></menuitem></code>

    <option id="tpnx7"><p id="tpnx7"><pre id="tpnx7"></pre></p></option>
    <output id="tpnx7"></output>
    <output id="tpnx7"><ruby id="tpnx7"></ruby></output>
    <output id="tpnx7"></output><acronym id="tpnx7"><button id="tpnx7"><div id="tpnx7"></div></button></acronym><code id="tpnx7"><menuitem id="tpnx7"></menuitem></code>

    ktv娱乐场所经营范围 365bet娱乐平台 美女六肖中特图网站 大乐透杀号百分之百前区公式 江苏十一选五兑奖时间 下载安装吉林新快3 cctv失西甲英超德甲 河北福利排列七走势图 体彩20选5怎么中奖号码 四川福彩快乐12走势图 一尾中特规律公式 3d第280期历史开奖结果 甘肃11选5奇偶走势图 网易彩票中奖了被改号 高频彩代理合法吗