ios PullToRefresh using animated GIF or image array or Vector image

说说那些令人惊叹的下拉效果

1. 动画下拉,这里借用一下github的资源

优点:直接用gif图处理,下拉进度完全按照gif图运行时间,只要时间和下拉进度匹配就可以了, 效果很流畅

https://dribbble.com/shots/1418440-Twisted-gif?list=searches&tag=animated_gif&offset=3

这里有大堆gif资源可供下载参考

项目地址:https://github.com/uzysjung/UzysAnimatedGifPullToRefresh

2.矢量图处理

项目参考地址:https://github.com/nicolastinkl/TKRefereshTableHeaderView

优点:通过gpu渲染而成,效果可想而知。使用时调节矢量图比较麻烦

3. 最常见的圆圈进度填满之类的效果

这种就比较简单。 直接通过UIView -DrawRect即可实现

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();

CGContextSetLineWidth(context, 1.0);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
CGFloat startAngle = -M_PI/3;
CGFloat step = 11*M_PI/6 * self.progress;
CGContextAddArc(context, self.bounds.size.width/2, self.bounds.size.height/2, self.bounds.size.width/2-3, startAngle, startAngle+step, 0);
CGContextStrokePath(context);
}

github地址:https://github.com/phaibin/EGOTableViewPullRefresh/blob/master/Demo/TableViewPull/Classes/View/RefreshTableHeaderView/CircleView.m

ios PullToRefresh using animated GIF or image array or Vector
image,布布扣,bubuko.com

ios PullToRefresh using animated GIF or image array or Vector
image

时间: 2024-10-12 15:26:09

ios PullToRefresh using animated GIF or image array or Vector image的相关文章

iOS编译错误:Property cannot have array or function type 'Block' (aka 'void (XXXXView *__st

XXXXView 中的Block错误,原因: typedef void (^Block)(XXXXView *); 在这个demo中忘记写^了,导致此错误 iOS编译错误:Property cannot have array or function type 'Block' (aka 'void (XXXXView *__st

C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲

 使用C++风格的数组,不需要管理内存. array要注意不要溢出,因为它是栈上开辟内存. array适用于任何类型 #include<iostream> #include<array> #include<vector>   //C++的标准库 #include<string>   //C++字符串 #include <stdlib.h> using  std::array; //静态数组,栈上 using std::vector; //动态

如何使用Array和vector

一:定义 array的定义和c语言中所学的数组定义是一样的.要指定类型,名称,以及大小,大小应为常量值.例如: const int seq_size=18; int pell_seq[seq_size]; vector的初始化必须包含头文件,要在类名后的尖括号内指出元素类型,小括号内写出大小,此处的大小不一定是个常量.例如: #include<vector> vector<int>pell_seq(seq_size); 二:初始化 array的初始化可以用指定列表的方法来进行.指定

C++ 数组array与vector的比较

转:http://blog.csdn.net/yukin_xue/article/details/7391897 1. array 定义的时候必须定义数组的元素个数;而vector 不需要: 且只能包含整型字面值常量,枚举常量或者用常量表达式初始化的整型const对象, 非const变量以及需要到运行阶段才知道其值的const变量都不能用来定义数组的维度. 2. array 定义后的空间是固定的了,不能改变:而vector 要灵活得多,可再加或减. 3. vector有一系列的函数操作,非常方便

列表list/数组Array/向量vector、元祖tuple、范围range

列表 输入加法运算: content = input('请输入:') # 输入5+9 result = content.split('+') # split生成列表['1', '2'] num = int(result[0]) + int(result[1]) 公共功能: 索引.切片.步长 获取长度:len # 表示元素的个数 for循环 #利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*. li = list(range(1,31)) l

很好的iOS学习资料

https://github.com/vsouza/awesome-ios 汇集了很多好的资料 https://github.com/vsouza/awesome-ios Skip to content This repository Pull requests Issues Gist You don’t have any verified emails. We recommend verifying at least one email. Email verification helps ou

使用Olami SDK 语音控制一个支持HomeKit的智能家居的iOS程序

前言 HomeKit是苹果发布的智能家居平台.通过HomeKit组件,用户可以通过iphone.iPad和ipod Touch来控制智能灯泡,风扇.空调等支持HomeKit的智能家居,尤其是可以通过Siri进行语音控制. 但是通过Siri进行语音控制有个很大的问题,就是Siri支持的语料无法进行自由的扩展,没办法添加更多的说法.而Olami SDK则可以通过OSL(OLAMI 语法描述语言 OLAMI Syntax Language,简称:OSL)自由的进行扩展,对智能对话的能力扩展变得非常容易

不通过App Store实现ios应用分发下载安装

最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到一些应用没有通过苹果应用商店也能下载安装,比如下面的兔兔助手. 兔兔助手_苹果手机助手_兔兔助手越狱版_兔兔助手官网下载 http://www.tutuapp.com/ 直接扫码或者点击手机页面的下载链接就能下载安装成功. 其实这种安装方式是利用企业证书签名app的部署方式来安装程序,直接在ios设

C++11新特性之 std::array container

数组每个人都很熟悉,vector更是我们常常用到的. 但是某些场合,使用vector是多余的,尤其能明确元素个数的情况下,这样我们就付出了效率稍低的代价! 但是你使用数组的代价是那么的不安全,那么的不方便. 于是,C++11推出了模板类array,位于std名称控件中. 与vector不同的是,array对象的长度是固定的,使用了静态存储区,即存储在栈上,效率跟数组相同,但是更加的安全. 首先需要包含头文件array,而且语法与vector也有所不同: #include<array> ...