源码推荐(8.05):一行代码实现多风格的推送小红点,效果很好的跑马灯

一行代码实现多风格的推送小红点(作者:weng1250)

今天我们来实现一个在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 以上

时间: 2024-10-09 08:41:33

源码推荐(8.05):一行代码实现多风格的推送小红点,效果很好的跑马灯的相关文章

源码推荐

源码推荐(1.20):仿新浪app图片选择的类库,交互式分段控件 http://www.cocoachina.com/game/20150120/10956.html 源码推荐(1.14):旋转视图选择器,POP动画引擎写的Sina微博菜单 http://www.cocoachina.com/ios/20150114/10922.html

源码推荐 VVebo剥离的TableView绘制

源码推荐 VVebo剥离的TableView绘制 https://github.com/johnil/VVeboTableViewDemo 此项目由VVebo剥离,希望你能通过这个demo看到我是如何进行TableView流畅度优化的. 主要思路如下: 1.异步渲染内容到图片. 2.按照滑动速度按需加载内容. 3.重写处理网络图片加载. 实际上做完前两点就可以很流畅了.我把内容都异步渲染到了一张图上,尽可能减少Cell层级. 项目中我用的是SDWebImageManager.在我变态级要求下,网

神经网络caffe框架源码解析--softmax_layer.cpp类代码研究

// Copyright 2013 Yangqing Jia // #include <algorithm> #include <vector> #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" using std::max; namespace caffe { /**

神经网络caffe框架源码解析--data_layer.cpp类代码研究

dataLayer作为整个网络的输入层, 数据从leveldb中取.leveldb的数据是通过图片转换过来的. 网络建立的时候, datalayer主要是负责设置一些参数,比如batchsize,channels,height,width等. 这次会通过读leveldb一个数据块来获取这些信息. 然后启动一个线程来预先从leveldb拉取一批数据,这些数据是图像数据和图像标签. 正向传播的时候, datalayer就把预先拉取好数据拷贝到指定的cpu或者gpu的内存. 然后启动新线程再预先拉取数

《java.util.concurrent 包源码阅读》05 BlockingQueue

想必大家都很熟悉生产者-消费者队列,生产者负责添加元素到队列,如果队列已满则会进入阻塞状态直到有消费者拿走元素.相反,消费者负责从队列中拿走元素,如果队列为空则会进入阻塞状态直到有生产者添加元素到队列.BlockingQueue就是这么一个生产者-消费者队列. BlockingQueue是Queue的子接口 public interface BlockingQueue<E> extends Queue<E> BlockingQueue拿走元素时,如果队列为空,阻塞等待会有两种情况:

qemu-kvm-1.1.0源码中关于迁移的代码分析

Description Businesses like to have memorable telephone numbers. One way to make a telephone number memorable is to have it spell a memorable word or phrase. For example, you can call the University of Waterloo by dialing the memorable TUT-GLOP. Some

(源码推荐)快速开发10几天时间纯代码高仿《内涵段子》

这个项目是用OC编写,如果有的朋友已经下载下来看了这个项目, 就会意识到这个项目没有一个storyboard或者是nib,不是因为不喜欢用storyboard或者nib,而是因为一直以来就想用纯代码写个项目,(好远大的梦想..开玩笑的..),但是项目是写出来的,光想不做不写是不行的,所以我就开始我的”内涵之旅“了. Github 地址 https://github.com/Charlesyaoxin/NeiHanDuanZI 日志: 8.30号:没怎么做东西,就是搭建了项目的架构,拉入了之前经常

Seay源代码审计系统2.0及源码开放 人人都是代码审计师

历史版本: 2013年7月15日 Seay源代码审计系统2.0 1.增加mysql执行监控,可以监控自定义断点后执行的所有SQL语句,方便调试SQL注入2.更换在线升级,安装好之后下次更新可以直接在线升级,无需重新安装3.更换皮肤,去除图片优化程序速度4.更换mysql管理系统为HeidiSql 2013年6月18日  Seay源代码审计系统1.1 1.审计规则禁用2.审计进度显示3.优化正则调试.编码转换输入框4.优化信息泄露插件扫描模式5.修复代码查看处的一个bug 2013年6月8日 Se

HBase1.0.0版源码分析之HMaster启动代码分析(1)

本文其实还算不上真正的启动代码解析,本文主要还是从启动流程上分析到startHMaster部分,初次之外本文将就HBase的伪分布式调试方式进行相关的介绍. 我们将源码倒入到Intellij IDE之后会得到如下的代码结构: 这里我们进入hbase-server中在src/main下面的resources中添加hadoop-metrics2-hbase.properties,hbase-site.xml,log4j.properties等文件并进行相应的配置,除了hbase-site.xml文件