https://github.com/Sephiroth87/ODRefreshControl 类似刷新控件,类似qq动画的那种刷新。

一.下载第三方库

https://github.com/samvermette/SVPullToRefresh

二.使用方法

1.导入下载的第三方库

2.导入头文件

在需要的类里导入这一个头文件就能,同时使用下拉刷新,上拉加载

#import "SVPullToRefresh.h"

3.下拉刷新

  1. [_tableView addPullToRefreshWithActionHandler:^{
  2. //数据的加载,和表的刷新的代码。
  3. //全部需要我们自己写
  4. //        [self refreshTableView];
  5. //3秒后调用refreshTableView方法
  6. [self performSelector:@selector(refreshTableView) withObject:nil afterDelay:1.0];
  7. //        //风火轮的动画还需要我们手动的停止
  8. //        [_tableView.pullToRefreshView stopAnimating];
  9. }];

4.上拉加载

  1. [_tableView addInfiniteScrollingWithActionHandler:^{
  2. [self performSelector:@selector(insertDate) withObject:nil afterDelay:3.0];
  3. }];

5.自定义显示的文字

  1. [_tableView.pullToRefreshView setTitle:@"下拉以刷新" forState:SVPullToRefreshStateTriggered];
  2. [_tableView.pullToRefreshView setTitle:@"刷新完了呀" forState:SVPullToRefreshStateStopped];
  3. [_tableView.pullToRefreshView setTitle:@"不要命的加载中..." forState:SVPullToRefreshStateLoading];

6.自定义刷新时的动画

  1. UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 40)];
  2. view.backgroundColor = [UIColor blueColor];
  3. [UIView beginAnimations:nil context:nil];
  4. [UIView setAnimationDuration:3];
  5. view.alpha = 0.5 ;
  6. [UIView commitAnimations];
  7. [_tableView.pullToRefreshView setCustomView:view forState:SVPullToRefreshStateAll];

当然可以把view换成imageView等控件实现动画效果
7.实现刷新和加载的两个方法

  1. - (void)refreshTableView
  2. {
  3. }
  4. - (void)insertDate
  5. {
  6. }

三.注意事项

iOS7和我们的下拉刷新库有冲突,因为都是对contentOffset进行操作,解决冲突,有两种做法

方法1:禁用navgationbar的半透明效果,还原至iOS6中的效果

  1. self.navigationController.navigationBar.translucent = NO;

方法2:禁止系统自己修改contentOffset,然后修改tableView的frame

automaticallyAdjustsScrollViewInsets 这个属性,只有iOS7以后才能用,所以如果要兼容iOS6,在iOS6运行,我们需要判断一下能不能使用这个属性或者当前的系统版本

最终代码为:

  1. if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0)
    1. {
    2. self.automaticallyAdjustsScrollViewInsets = NO;
    3. _tableView.frame = CGRectMake(0, 64, 320, self.view.bounds.size.height - 64);
    4. };

SVPullToRefresh​ 下拉刷新,上拉加载的更多相关文章

  1. Android 下拉刷新上啦加载SmartRefreshLayout + RecyclerView

    在弄android刷新的时候,可算是耗费了一番功夫,最后发觉有现成的控件,并且非常好用,这里记录一下. 原文是 https://blog.csdn.net/huangxin112/article/de ...

  2. SwipeRefreshLayout实现下拉刷新上滑加载

    1. 效果图 2.RefreshLayout.java package myapplication.com.myapplication; import android.content.Context; ...

  3. 移动端下拉刷新上拉加载-mescroll.js插件

    最近无意间看到有这么一个上拉刷新下拉加载的插件 -- mescroll.js,个人感觉挺好用的,官网地址是:http://www.mescroll.com 然后我就看了一下文档,简单的写了一个小dem ...

  4. 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载

    title: 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载 tags: -RecyclerView,下拉刷新,上拉加载更多 grammar_cjkRuby: true - ...

  5. ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多

    ListView实现Item上下拖动交换位置  并且实现下拉刷新  上拉加载更多 package com.example.ListViewDragItem; import android.app.Ac ...

  6. [ionic开源项目教程] - 第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll

    第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll 1.将tab1.html的代码改为如下: <ion-content> <ion-ref ...

  7. JS+CSS实现的下拉刷新/上拉加载插件

    闲来无事,写了一个当下比较常见的下拉刷新/上拉加载的jquery插件,代码记录在这里,有兴趣将代码写成插件与npm包可以留言. 体验地址:http://owenliang.github.io/pull ...

  8. 基于SwiperJs的H5/移动端下拉刷新上拉加载更多的效果

    最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...

  9. ListView下拉刷新上拉加载更多实现

    这篇文章将带大家了解listview下拉刷新和上拉加载更多的实现过程,先看效果(注:图片中listview中的阴影可以加上属性android:fadingEdge="none"去掉 ...

  10. RecyclerView下拉刷新上拉加载(三)—对Adapter的封装

    RecyclerView下拉刷新上拉加载(一) http://blog.csdn.net/baiyuliang2013/article/details/51506036 RecyclerView下拉刷 ...

随机推荐

  1. 关于String StringBuffer StringBuilder

    0. String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...

  2. MTOM以及在WCF中的应用

    关于MTOM的基本概念 提到MTOM消息优化传输机制,通常的实验结果是使用MTOM传输数据会提高大约33%的性能. 消息传输优化机制 (MTOM) 标准允许将消息中包含的大型数据元素外部化,并将其作为 ...

  3. Eclipse编译去除svn文件夹

    使用Eclipse编译文件后,classes文件中总是有.svn的文件夹,这些文件没有什么用,而且影响build的速度 "Project->Properties->Java Bu ...

  4. SSH 端口映射(一)

    转载:http://blog.csdn.net/a351945755/article/details/21785647,http://blog.csdn.net/gaoming655/article/ ...

  5. 轮式移动机器人QBot的使用

    夏季学期选了智能移动机器人导论课程,开始接触移动机器人.作为一门面向大二.大三学生的一门导论式的课程,课程作业其实并不太难,然而我们为了完成课程作业,前前后后还是弄了好几个星期,以至放了暑假都还要和Q ...

  6. UWP 矢量字体图标(iconfont)使用

    本文使用 阿里巴巴开源字体: 选择矢量字体图标: 查看或编辑 Unicode编码 或字体名称 下载到本地,添加到uwp项目 代码中写法 Text:Unicode编码 FontFamily:文件路径#字 ...

  7. [转] KVM Internals, code and more

    KVM Kernel-based Virtual Machine Internals, code and more http://slides.com/braoru/kvm#/ What behind ...

  8. [转载]ExtJs4 笔记(11) Ext.ListView、Ext.view.View 数据视图

    本篇介绍两个用来展示数据的容器控件,分别是Ext.ListView和Ext.view.View.Ext.ListView就是大名鼎鼎的 Ext GridPanel的前身,不过现在的Ext4已经将它整合 ...

  9. HDU 1828 / POJ 1177 Picture --线段树求矩形周长并

    题意:给n个矩形,求矩形周长并 解法:跟求矩形面积并差不多,不过线段树节点记录的为: len: 此区间线段长度 cover: 此区间是否被整个覆盖 lmark,rmark: 此区间左右端点是否被覆盖 ...

  10. FZU1894 志愿者选拔 --单调队列

    做法:维护一个单调递减序列,只需输出序列中的第一个元素即可. 对于命令我们可以进行不同的处理: 如果是Q命令,则判断当前队列中是否仍有元素,如果没有则输出-1,如果有则直接输出队首. 如果是G命令,则 ...