详细讲解WaterRefreshLoadMoreView的使用
详细讲解WaterRefreshLoadMoreView的使用
效果图:
加载控件的源码在如下网址中:上拉加载下拉刷新控件WaterRefreshLoadMoreView
使用的源码:
//
// ViewController.m
// NewRefresh
//
// Created by YouXianMing on 14/11/22.
// Copyright (c) 2014年 YouXianMing. All rights reserved.
// #import "ViewController.h"
#import "ModelCell.h"
#import "WaterRefreshLoadMoreView.h" @interface ViewController ()<UITableViewDataSource, UITableViewDelegate, WaterLoadMoreDelegate, WaterRefreshDelegate> @property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) NSMutableArray *dataArray; @property (nonatomic, strong) WaterRefreshLoadMoreView *waterMoreView; @end @implementation ViewController - (void)dealloc {
[_waterMoreView deallocWithCloseConnect];
} - (void)viewDidLoad {
[super viewDidLoad]; // 创建数据源
self.dataArray = [self createDataSource]; // 创建tableView
self.tableView = [self createTableView];
[self.view addSubview:self.tableView]; // 创建刷新控件
self.waterMoreView = [[WaterRefreshLoadMoreView alloc] initWithWithType:WaterRefreshTypeRefreshAndLoadMore];
self.waterMoreView.refreshDelegate = self;
self.waterMoreView.loadMoreDelegate = self;
self.waterMoreView.scrollView = self.tableView;
} /**
* 创建数据源
*
* @return 数据源
*/
- (NSMutableArray *)createDataSource {
NSMutableArray *dataArray = [NSMutableArray new];
[dataArray addObject:@"YouXianMing 0"];
[dataArray addObject:@"YouXianMing 1"];
[dataArray addObject:@"YouXianMing 2"];
[dataArray addObject:@"YouXianMing 3"];
[dataArray addObject:@"YouXianMing 4"];
[dataArray addObject:@"YouXianMing 5"];
[dataArray addObject:@"YouXianMing 6"];
[dataArray addObject:@"YouXianMing 7"];
[dataArray addObject:@"YouXianMing 9"];
[dataArray addObject:@"YouXianMing 10"];
[dataArray addObject:@"YouXianMing 11"];
[dataArray addObject:@"YouXianMing 12"];
[dataArray addObject:@"YouXianMing 13"];
[dataArray addObject:@"YouXianMing 14"];
[dataArray addObject:@"YouXianMing 15"];
[dataArray addObject:@"YouXianMing 16"];
[dataArray addObject:@"YouXianMing 17"];
[dataArray addObject:@"YouXianMing 18"];
[dataArray addObject:@"YouXianMing 19"]; return dataArray;
} #pragma mark - tablaView相关
/**
* 创建tableView
*
* @return tableView
*/
- (UITableView *)createTableView {
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(, , , )
style:UITableViewStylePlain];
[tableView registerClass:[ModelCell class] forCellReuseIdentifier:@"ModelCell"];
tableView.delegate = self;
tableView.dataSource = self;
tableView.layer.borderWidth = .f; return tableView;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [_dataArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
ModelCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ModelCell"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.titleText = _dataArray[indexPath.row]; return cell;
} // 水滴下拉刷新的代理方法
- (void)slimeRefreshStartRefresh:(WaterRefreshLoadMoreView*)refreshView {
// 两秒钟之后执行刷新成功
[GCDQueue executeInMainQueue:^{
[refreshView endRefreshWithRemindsWords:@"刷新成功!" remindImage:nil];
} afterDelaySecs:.f];
}
- (void)slimeRefreshEndRefresh:(WaterRefreshLoadMoreView *)refreshView { }
// 加载更多的代理方法
- (void)loadMoreViewStartLoad:(WaterRefreshLoadMoreView*)refreshView {
[GCDQueue executeInMainQueue:^{ static int count = ; [_dataArray addObject:@"YouXianMing - "];
[self.tableView reloadData]; if (count ++ > ) {
[refreshView banFunctionOfStartLoadMore:YES remind:@"没有更多内容了哦,亲!"];
} else {
[refreshView endLoadingMoreWithRemind:nil];
} } afterDelaySecs:.f];
}
- (void)loadMoreViewEndLoad:(WaterRefreshLoadMoreView *)refreshView { } @end
以下是需要注意的地方:
GCDQueue是本人自己写的,看官可以自行替换成其他的东西来实现,本人只是为了模拟加载的情形
详细讲解WaterRefreshLoadMoreView的使用的更多相关文章
- head标签详细讲解
head标签详细讲解 head位于html网页的头部,后前的标签,并以开始以结束的一html标签. Head标签位置如图: head标签示意图 head包含标签 meta,title,link,bas ...
- 详细讲解nodejs中使用socket的私聊的方式
详细讲解nodejs中使用socket的私聊的方式 在上一次我使用nodejs+express+socketio+mysql搭建聊天室,这基本上就是从socket.io的官网上的一份教程式复制学习,然 ...
- iOS KVC详细讲解
iOS KVC详细讲解 什么是KVC? KVC即NSKeyValueCoding,就是键-值编码的意思.一个非正式的 Protocol,是一种间接访问对象的属性使用字符串来标识属性,而不是通过调用存取 ...
- Android webservice的用法详细讲解
Android webservice的用法详细讲解 看到有很多朋友对WebService还不是很了解,在此就详细的讲讲WebService,争取说得明白吧.此文章采用的项目是我毕业设计的webserv ...
- 详细讲解Android对自己的应用代码进行混淆加密防止反编译
1.查看项目中有没有proguard.cfg. 2.如果没有那就看看这个文件中写的什么吧,看完后将他复制到你的项目中. -optimizationpasses 5 -dontusemixedcasec ...
- 详细讲解Hadoop源码阅读工程(以hadoop-2.6.0-src.tar.gz和hadoop-2.6.0-cdh5.4.5-src.tar.gz为代表)
首先,说的是,本人到现在为止,已经玩过. 对于,这样的软件,博友,可以去看我博客的相关博文.在此,不一一赘述! Eclipse *版本 Eclipse *下载 Jd ...
- [iOS]数据库第三方框架FMDB详细讲解
[iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封 ...
- jquery插件分类与编写详细讲解
jquery插件分类与编写详细讲解 1. 插件种类 插件其实就是对现有的方法(或者叫函数)做一个封装,方便重用提高开发效率. jQeury主要有2种类型 1)实例对象方法插件 开发能让所有的j ...
- [VC++]用CTime类得到当前日期、时间、星期,格式化(详细讲解)
用CTime类得到当前日期.时间.星期,格式化(详细讲解)2009/05/12 09:48 A.M.① 定义一个CTime类对象 CTime time; ② 得到当前时间 time = CTime:: ...
随机推荐
- Self-Attention与Transformer
直观理解与模型整体结构 先来看一个翻译的例子“I arrived at the bank after crossing the river” 这里面的bank指的是银行还是河岸呢,这就需要我们联系上下 ...
- jquery ajax abort()方法
如果用户频繁点击ajax请求,除最后一个外都是无效的,趁早结束节省资源.也可能出现更严重的问题,最后一个发送的请求,响应未必是最后一个,有可能造成混乱.用jquery的abort方法,可以中途中止aj ...
- Java 获取汉字串首字母并大写和获取汉字的全拼,英文字符不变
在开发中我们难免会遇到需要提出汉字中的拼音的首字母.提出汉字的拼音,接着便介绍一个工具类 pinyin4j.jar,首先需要下载 jar 包. Pinyin4j是一个功能强悍的汉语拼音工具包,是sou ...
- UIKit 框架之UIAlertController
IOS8之后增加了UIAlertController类,它可以表示UIAlertView和UIActionSheet.它继承自UIViewController. - (BOOL)application ...
- Java8新特性--流(Stream)
1.简介 Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们一起来学习引入的一个新特性- ...
- httpServletRequest中的流只能读取一次的原因
首先,我们复习一下InputStream read方法的基础知识, java InputStream read方法内部有一个,postion,标志当前流读取到的位置,每读取一次,位置就会移动一次,如果 ...
- 请比较throw 合throws的区别
throw语句用在方法体内,表示抛出异常.throws语句用在方法声明的后面,表示再抛出异常,由该方法的调用者来处理.throws主要声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常. ...
- VIM命令图解
右键在新窗口打开查看大图 删除所有:dG 来源见水印
- hdu 1885
Key Task Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- 列表 enumerat 解包, 针对索引和元素
dic = [1,2,3,4,5] for a,b in enumerate(dic): print(a,b) # a就是索引 b是元素