今天我们来实现一个在iOS中让人又爱又恨的推送“小红点”WZLBadge。那什么是badge呢?当后台有数据更新需要让用户知道时,在按钮或者其他控件上显示一个“小红点”提醒用户。注意,这里的“小红点”仅仅是泛指,实际的视图可以天马行空,在这个版本中我们先实现以下几种:
小红点
红底白字“new”
红底白字数字
为了让小红点显示后更加醒目,在这个版本中我又实现了几种不同的状态动画(status animation):
心脏跳动效果(WBadgeAnimTypeScale)
呼吸灯效果(WBadgeAnimTypeBreathe)
横向抖动(WBadgeAnimTypeShake)
静止状态(WBadgeAnimTypeNone, 默认)
WZLBadge还有以下优点:
支持横竖屏支持iOS5~iOS8允许高度定制化,包括“红点”的背景颜色,文字(字体大小、颜色),位置等
由于WZLBadge采用对UIView扩展category的方式,因此,所有的UIView及其继承子类(UIControl等)都可以无缝使用,当前版本开放的接口主要有以下几个:
- (void)showBadge; - (void)showBadgeWithStyle:(WBadgeStyle)style value:(NSInteger)value animationType:(WBadgeAnimType)aniType; - (void)clearBadge;
我将源代码托管在github上,我个人希望WZLBadge能不断优化成为iOS平台上推送红点的终极解决方案,如果你感兴趣,我非常欢迎你一起加入让WZLBadge变得更好。有什么问题或者建议请留言或者在github提issue。
测试环境:Xcode 6.2,iOS 6.0 以上
跑马灯 (作者: nostyle )
可循环滚动的较长文字,跑马灯
效果很好,一句话集成
测试环境:Xcode 6.2,iOS 6.0 以上
swift播放本地音乐 (作者: 懂你的所以123 )
swift播放本地音乐
测试环境:Xcode 6.2,iOS 7.0 以上
灌水动画新版强势来袭 (作者: 董铂然 )
SXWaveAnimate
实现非常美观的灌水动画
7月30日升级版本(建议更新下)
与以往的只有自定义cell相比,开通了粒度更小的自定义View-SXWaveView
主要更新有:
修改整体UI样式增加了SXWaveView。使得项目的泛用性和灵活性更好
添加动画的type修改后为3种 1-缓慢上升 2-缓慢下降 3-先升后降
考虑到引入的方便waveView废除了xib使用纯手码创建
添加了半圆性灌水动画halfWaveView。 (半圆类依赖于圆类,反之不依赖。可以根据个人喜好决定是否引入半圆类)
增加开放API和新的字段,定制化程度更高。 (不用担心以前有的接口还是有的,没做改变)
SXWaveView使用方法
1.将代码中的classes文件夹拖入项目中,里面包含了可重用的文件,及一个便利计算frame的类
2.在需要用到的类中(就是你要写tableView数据源方法和代理方法的类)引入头文件
#import "SXWaveView.h"或者是#import "SXHalfWaveView.h"
3.建一个成员变量
@property(nonatomic,strong)SXWaveView *animateView1;
4.用你正常创建自定义view的方法建一个,并使用setPrecent开头的方法,不想传的参数可以传nil
SXWaveView *animateView1 = [[SXWaveView alloc]initWithFrame:CGRectMake(0 MARGIN, 100 MARGIN,SIDES, SIDES)]; [self.view addSubview:animateView1]; self.animateView1 = animateView1; [self.animateView1 setPrecent:self.precent description:@"董铂然" textColor:[UIColor orangeColor] bgColor:COLOR(31, 187, 170, 1) alpha:1 clips:NO];
5.在viewDidAppear或viewWillAppear方法中加入一行开始动画的方法[self.animateView1 addAnimateWithType:0];也可以自行选择动画触发的地点。
精心设计了12种配色。现在的自定义配置已经很多,可自行发挥
看下代码就知道了里面写的很清楚
此代码还在不断优化中,欢迎点星关注
测试环境:Xcode 6.2,iOS 6.0 以上
UIWebView翻页返回效果(变通方法) (作者: Star5 )
这个方法实现起来比较简单,反正只要手势划动返回时有翻页效果就行。
测试环境:Xcode 6.2,iOS 6.0 以上