Github系列之二:开源 一行代码实现多形式多动画的推送小红点WZLBadge(iOS)
2016-05-22 17:34
585 查看
更新日志
V1.2 2015.09.25 1.UITabBarItem badge is supproted; 2.Enable change badge properties when badge is showing; 3.Other code optimization.V1.1 2015.08.12
UIBarButtonItem badge is supported. UIBarButtonItem is kind of NSObject and its displayed view is invisiable. This version makes usage of UIBarButtonItem badge as to UIView.
Slight adjustment for code structure to fit future extension.
Other code optimization.
V1.0 at 2015.06.16
Base functions are completed, which is able to meet most of requirements.
概述
今天我们来实现一个在iOS中让人又爱又恨的推送“小红点”WZLBadge。那什么是badge呢?当后台有数据更新需要让用户知道时,在按钮或者其他控件上显示一个“小红点”提醒用户。注意,这里的“小红点”仅仅是泛指,实际的视图可以天马行空,在这个版本中我们先实现以下几种:小红点
红底白字“new”
红底白字数字
为了让小红点显示后更加醒目,在这个版本中我又实现了三种不同的状态动画(status animation):
心脏跳动效果(WBadgeAnimTypeScale)
呼吸灯效果(WBadgeAnimTypeBreathe)
横向抖动(WBadgeAnimTypeShake)
静止状态(WBadgeAnimTypeNone, 默认)
WZLBadge还有以下优点:
支持横竖屏
支持iOS5~iOS8
允许高度定制化,包括“红点”的背景颜色,文字(字体大小、颜色),位置等
我们还是先看两张示例图片吧:
分析
想要使得实现出来的badge接口调用方便,我采用的是对UIView做category的方式,接口统一为实例方法。通过这种方式,可以给任意的UIView及其子类添加badge,而且接口简单。接口应该类似于这样:api为:
使用方法
由于WZLBadge采用对UIView扩展category的方式,因此,所有的UIView及其继承子类(UIControl等)都可以无缝使用,当前版本开放的接口主要有以下几个:
源代码分享
我将源代码托管在github上,我个人希望WZLBadge能不断优化成为iOS平台上推送红点的终极解决方案,如果你感兴趣,我非常欢迎你一起加入让WZLBadge变得更好。有什么问题或者建议请留言或者在github提issue。此外,希望你能在github上Fellow我,并且对WZLBadge进行star/fork/watch,接下来我的更新会直接通知到你^^。
github地址:WZLBadge (https://github.com/weng1250/WZLBadge)
from: http://www.cnblogs.com/wengzilin/p/4633937.html
相关文章推荐
- ios如何弄遮罩
- CodingNet - Learning - 3
- iOS 生成本地验证码
- IOS之地图详解
- IOS-百度地图API用点生成线路、导航、自定义标注 2013年11月更新
- iOS开发经验1.1
- iOS类目
- iOS逆向工程读书笔记
- ios学习笔记之八--按钮控制图片放大缩小
- IOS集成环信时---Undefined symbols for architecture x86_64:
- iOS 异步图片加载优化与常用开源库分析
- IOS抓包
- iOS开发的几个小问题(二)
- iOS开发(OC)——AFNetworking之文件下载
- iOS开发(OC)——AFNetworking之文件上传
- iOS Document Interaction 编程指南
- iOS中 自定义cell分割线/分割线偏移 韩俊强的博客
- iOS中 自定义cell分割线/分割线偏移 韩俊强的博客
- 图像、开关、滑块、进度条、模式对话框、弹出框(16.5.22)
- iOS 开发之Target-action模式