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

具体内容详情如下所示:

  • 以分类的方式实现

代码

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仿微信添加提示小红点功能(无数字),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • IOS开发过程中的消息通知--小红点

    大致分为两种方法:系统方法和自定义方法 系统方法: 系统自带的方法可以显示具体的消息数量,这个就是苹果设备常见的小红点.实现思路如下: NSArray *tabBarItems = self.navigationController.tabBarController.tabBar.items; UITabBarItem *personCenterTabBarItem = [tabBarItems objectAtIndex:3]; personCenterTabBarItem.badgeValu

  • IOS设置QQ小红点消除的方法(一键退朝)

    QQ上黏黏的小红点很好玩有木有,于是自己也想实现一番,看到iOS实现的人比较少,Android的比较多,于是这个就用iOS来实现哈~ 效果图: 调试图: 其实从实现来讲,我是先实现第二张图的效果的. 我们小编给大家说下实现思路 1.了解原理,以及如何绘制"黏黏"形状(即绘制两圆加两条贝塞尔曲线). 2.新建UIView(AZMetaBallCanvas),作为单独画布用来绘制"黏黏"形状,用程序实现算法,并绘制出来. 3.给画布(AZMetaBallCanvas)添

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

    具体内容详情如下所示: 以分类的方式实现 代码 UITabBar+Extenstion.swift fileprivate let lxfFlag: Int = 666 extension UITabBar { // MARK:- 显示小红点 func showBadgOn(index itemIndex: Int, tabbarItemNums: CGFloat = 4.0) { // 移除之前的小红点 self.removeBadgeOn(index: itemIndex) // 创建小红点

  • iOS中WKWebView仿微信加载进度条

    本文实例为大家分享了WKWebView仿微信加载进度条的具体代码,供大家参考,具体内容如下 WKWebView添加了estimatedProgress属性(double类型),我们可以利用该属性来设置UIProgressView github代码仓库上存放的Demo 为页面添加UIProgressView属性 @property (nonatomic, strong) WKWebView *mywebView; @property (nonatomic, strong) UIProgressVi

  • IOS中Swift仿QQ最新版抽屉侧滑和弹框视图

    导读 简单用Swift写了一个抽屉效果,可以直接使用并且简单; 很多软件都运了抽屉效果,比如qq的左抽屉,英雄联盟,滴滴打车,和uber等等都运用了抽屉; 效果 iOS抽屉式结构实现分析 主要是在控制器的View上添加了两个View,一个左侧leftView和一个mainView.这里我们自定义一个DrawerViewController,init(mainVC: UIViewController, leftMenuVC: UIViewController, leftWidth: CGFloat

  • iOS中Swift UISearchController仿微信搜索框

    创建一个UISearchController 如果传入的searchResultsController为nil,则表示搜索的结果在当前控制器中显示,现在我让它在searchResultVC中显示 // 创建searchResultVC let searchResultVC = UIViewController() // 设置背景颜色为红色 searchResultVC.view.backgroundColor = UIColor.red let searchController = UISear

  • iOS仿微信添加标签效果(shape实现)

    一. 概述 可以说微信做的用户体验太棒了,可以做到老少皆宜,给个赞,我们也同时应该告诫自己,用户体验应该向微信看齐,微信就是我们的标杆,那我们今天也来仿一仿微信添加的标签功能.只能仿着做了,真是做不到微信的那种体验.甘拜下风. 我们上篇学习了shape属性的用法,那我们今天就用shape来做下微信的标签功能.先看一下效果. 我不仅用到了shape属性,还用到了翔哥的标签布局FlowLayout跟TagFlowLayout鸿洋的博客 二.效果图 三 .定义shape 添加标签 <?xml vers

  • iOS中Swift指触即开集成Touch ID指纹识别功能的方法

    1.前言 随着移动支付时代的到来,Touch ID 指纹验证迅速被支付宝,微信钱包普及,相信各位朋友使用后也大呼方便.今天写一篇关于指纹解锁的文章. 关于3D Touch 感兴趣的朋友可以看我前篇blog *    iOS- 指压即达,如何集成iOS9里的3D Touch http://www.jb51.net/article/108922.htm 2.指纹验证Touch ID的介绍 相比3D Touch来说,指纹验证Touch ID 的使用比较简单 主要分成两步 1.第一步当然是检测你的手机是

  • Android GridView仿微信添加多图效果

    本文实例为大家分享了GridView仿微信添加多图效果展示的具体代码,供大家参考,具体内容如下 栗子惯例,先上GIF 在项目中这种添加⑨图的效果应该是非常常见的,后面有个添加的按钮应该怎么实现,这也许让一部分小白抓狂了吧~来吧,淡漠带你飞,走起~~啦啦啦...... 起飞前先说下,本篇只是讲解九宫格添加图片的效果,至于选择图片的效果是别人写的库,我只是接过来做选择图片用的~ 1.首先这是用GridView实现的 xml布局就一个GridView <GridView android:id="

  • Swift仿微信语音通话最小化时后的效果实例代码

    前言 最近碰到个需求,需要仿微信语音通话缩小化后,保持界面最上层有一个悬浮的小View可以一点击就把刚刚缩放掉的界面再放回来,其实本质就是创造了一个新的Window,在这个window上创建了一个rootController并展示他,缩小化时是把controller dismiss掉了,再次点击那个小View之后把这个controller再展示出来便可以了.同理微信小程序其实也是在一个新的Window中做了一套新的逻辑.随着现在手机性能的提升,多Window同时存在并不会造成严重卡顿,而衍生出来

  • vue+web端仿微信网页版聊天室功能

    一.项目介绍 基于Vue2.5.6+Vuex+vue-cli+vue-router+vue-gemini-scrollbar+swiper+elementUI等技术混合架构开发的仿微信web端聊天室--vueWebChat,实现了发送消息.表情(动图),图片.视频预览,右键菜单.截屏.截图可直接粘贴至文本框进行发送. 二.技术框架 •MVVM框架:Vue2.5.6 •状态管理:Vuex •页面路由:Vue-router •iconfont图标:阿里巴巴字体图标库 •自定义滚动条:vue-gemi

  • Android仿微信发送语音消息的功能及示例代码

    微信的发送语音是有一个向上取消的,我们使用onTouchListener来监听手势,然后做出相应的操作就行了. 直接上代码: //语音操作对象 private MediaPlayer mPlayer = null; private MediaRecorder mRecorder = null; //语音文件保存路径 private String FileName = null; FileName = Environment.getExternalStorageDirectory().getAbs

随机推荐