http://code4app.com/ios/快速集成下拉上拉刷新/52326ce26803fabc46000000

刷新没用用插件,加载使用的MJ老师的插件。

- (void)viewDidLoad

{

[super viewDidLoad];

//获取数据

[self firstLoadRefresData];

//下拉刷新

self.refreshControl = [[UIRefreshControl alloc]init];

self.refreshControl.tintColor=[UIColor blueColor];

[self.refreshControl addTarget:self action:@selector(controlEventValueChanged:) forControlEvents:UIControlEventValueChanged];

// 集成上拉加载控件

[self setupRefresh];

}

/**

*  集成刷新控件

*/

- (void)setupRefresh

{

[self.tableView addFooterWithTarget:self action:@selector(footerRereshing)];

self.tableView.footerPullToRefreshText = @"上拉可以加载更多数据了";

self.tableView.footerReleaseToRefreshText = @"松开马上加载更多数据了";

self.tableView.footerRefreshingText = @"MJ哥正在帮你加载中,不客气";

}

- (void)footerRereshing

{

// 1.添加假数据

if ([self.docs hasNextPage]) {

[self setData:[[self.docs page]intValue]+1];

}

// 2.2秒后刷新表格UI

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

// 刷新表格

[self.tableView reloadData];

// (最好在刷新表格后调用)调用endRefreshing可以结束刷新状态

[self.tableView footerEndRefreshing];

});

}

-(void)controlEventValueChanged:(id)sender{

if (self.refreshControl.refreshing) {

self.refreshControl.attributedTitle=[[NSAttributedString alloc]initWithString:@"刷新中"];

[self performSelector:@selector(refreshData) withObject:nil afterDelay:0.5];

}

}

-(void)refreshData{

//请求数据

[self firstLoadRefresData];

//刷新表格

[self.tableView reloadData];

//完成刷新

[self.refreshControl endRefreshing];

self.refreshControl.attributedTitle=[[NSAttributedString alloc]initWithString:@"下拉刷新"];

}

使用AFNetworking库,取得数据。

-(void)setData:(int) p {

NSString *string = [NSString stringWithFormat:@"%@p=%d&ps=10", BaseURLString,p];

NSURL *url = [NSURL URLWithString:string];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];

operation.responseSerializer = [AFJSONResponseSerializer serializer];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

self.docs=(NSMutableDictionary *)responseObject;

NSMutableArray *doclist=[[NSMutableArray alloc]initWithCapacity:10];

[doclist addObjectsFromArray:self.infos];

[doclist addObjectsFromArray:[self.docs info]];

self.infos=doclist;

[self.tableView reloadData];

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error Retrieving Weather"

message:[error localizedDescription]

delegate:nil

cancelButtonTitle:@"Ok"

otherButtonTitles:nil];

[alertView show];

}];

[operation start];

}

IOS tableview下拉刷新上拉加载分页的更多相关文章

  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. UML 类图常用表示方法.

    UML中类图实例 接口:空心圆+直线(唐老鸭类实现了‘讲人话’): 依赖:虚线+箭头(动物和空气的关系): 关联:实线+箭头(企鹅需要知道气候才迁移): 聚合:空心四边形+实线+箭头(雁群和大雁的关系 ...

  2. lombok介绍

    Lombok是一种JavaArchive(JAR)文件,可用来消除Java代码的冗长.在写代码时,可以通过这个插件消除各种getter和setter,toString等常用方法. lombok 注解: ...

  3. php 概率算法(转)

    例:function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 for ...

  4. javascript页面加载完执行事件

    <script type="text/javascript" language="JavaScript"> //: 判断网页是否加载完成 docum ...

  5. Jquery实现select左右栏的添加移除

    首先是效果展示, 兼容火狐,IE6+,谷歌没测试有

  6. iOS进阶之多线程

    多线程 注意:iOS关于UI的刷新和添加必须在主线程中操作! pthread的创建方法: pthread_t pthread; //第一个参数 线程指针 //第二个参数 线程的一些属性 //第三个参数 ...

  7. hard

    硬盘电路板将信号转化为电压高低,电压控制电脉冲被送到磁头,产生一个电磁.磁盘和磁头很紧密.读写都是不断扫描磁盘的过程.有操作系统负责控制文件的组织,可能在不同的块中.

  8. 用户、角色、权限三者多对多用hibernate的一对多注解配置

    用户.角色.权限三者多对多用hibernate的一对多注解配置 //权限表@Table(name = "p")public class P { @Id @GeneratedValu ...

  9. jQuery动画高级用法——详解animation中的.queue()函数

    http://www.cnblogs.com/zhwl/p/4328279.html $('#object').hide('slow').queue(function(next){     $(thi ...

  10. 【Excel】宏之初认识

    出于提高效率的原因,希望excel能够不需要人为干预的完成一些操作,学习excel宏的编写与调试: 第一列输入公式,第二类输出计算结果:(如果自动获取文件的行数,待补充) Sub Calc() a = ...