iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
来源:互联网 发布:刀剑神域源码记录下载 编辑:程序博客网 时间:2024/05/01 02:01
Whats different on this fork:
容易集成,使用interface builder 添加tableView进行配置。
配置简单, 箭头头像,背景颜色和文本颜色都能通过PullTableView类的属性很容易的更改。
上拉加载更多数据功能在Table的底部。
可以通过代码修改刷新和加载更多动画。
The fast setup:
添加 QuartzCore.framework 到你的工程中。
将 EGOTableViewPullRefresh 拖到你的工程目录下。
查看 PullTableView.h 文件可用的属性。
添加一个PullTableView 到你代码中,实现PullTableViewDelegate委托方法。
欣赏吧。
The detailed setup (Walk through for creating the demo project):
创建一个新的xcode工程
选择 View Based Application 模板(xcode 4.2以后版本是 Single View Application模板)
工程名字 EGOTableViewPullRefreshDemo
在工程文件下创建EGOTableViewPullRefreshDemoViewController控制器类(Single View Application模板不需这步)
添加 QuartzCore.framework 到工程中
添加 PullTableView 到工程里:
拖拽 EGOTableViewPullRefresh 目录下文件到工程支持的文件组下,确保(EGOTableViewPullRefresh)下文件都拷贝到目标文件组下。
添加 PullTable 视图到 EGOTableViewPullRefreshDemoViewController.xib上:
拖一个UITableView控件到View视图上.
打开 Identity inspector 将Table 的继承类由 UITableView 改成PullTableView
连接 dataSources数据源和 pullDelegate协议到PullTableView的 File's owner上
配置视图控制器的头文件 EGOTableViewPullRefreshDemoViewController.h:
添加 #import "PullTableView.h"
声明 PullTableViewDelegate 和 UITableViewDataSource协议
创建一个属性名为pullTableView的输出口连接到interface Builder上的tableView上
配置视图控制器和页脚 EGOTableViewPullRefreshDemoViewController.m
在.m文件中添加下面代码
#pragma mark - Refresh and load more methods
- (
void
) refreshTable
{
/*
Code to actually refresh goes here.
*/
self.pullTableView.pullLastRefreshDate = [NSDate date];
self.pullTableView.pullTableIsRefreshing = NO;
}
- (
void
) loadMoreDataToTable
{
/*
Code to actually load more data goes here.
*/
self.pullTableView.pullTableIsLoadingMore = NO;
}
#pragma mark - UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return
5;
}
- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return
10;
}
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static
NSString *cellIdentifier = @
"Cell"
;
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if
(!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
cell.textLabel.text = [NSString stringWithFormat:@
"Row %i"
, indexPath.row];
return
cell;
}
- (NSString *) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return
[NSString stringWithFormat:@
"Section %i begins here!"
, section];
}
- (NSString *) tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section
{
return
[NSString stringWithFormat:@
"Section %i ends here!"
, section];
}
#pragma mark - PullTableViewDelegate
- (
void
)pullTableViewDidTriggerRefresh:(PullTableView *)pullTableView
{
[self performSelector:@selector(refreshTable) withObject:nil afterDelay:3.0f];
}
- (
void
)pullTableViewDidTriggerLoadMore:(PullTableView *)pullTableView
{
[self performSelector:@selector(loadMoreDataToTable) withObject:nil afterDelay:3.0f];
}
对于UI的配置,在ViewDidLoad()方法里面添加下面代码(比如 修改刷新和上拉的背景色箭头头像等)
self.pullTableView.pullArrowImage = [UIImage imageNamed:@
"blackArrow"
];
self.pullTableView.pullBackgroundColor = [UIColor yellowColor];
self.pullTableView.pullTextColor = [UIColor blackColor];
对于手动设置动画可使用 pullTableIsRefreshing 和pullTableIsLoadingMore 属性. 比如在 viewWillAppear:方法里面添加下面的代码
if
(!self.pullTableView.pullTableIsRefreshing) {
self.pullTableView.pullTableIsRefreshing = YES;
[self performSelector:@selector(refreshTable) withObject:nil afterDelay:3];
}
- iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
- iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
- iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
- iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
- iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
- iOS-上拉刷新下拉加载 新版MJRefresh和EGOTableViewPullRefresh
- iOS UITableView下拉刷新上拉加载更多EGOTableViewPullRefresh类库使用初级剑侠篇(欢迎提建议和分享遇到的问题)
- iOS 下拉刷新和上拉加载更多
- listView 模仿ios的上拉刷新下拉加载更多
- iOS 下拉刷新和上拉加载更多
- iOS轮子: 下拉刷新,上拉加载更多
- iOS开发 下拉刷新上拉加载更多详解
- Listview 下拉刷新,上拉加载更多
- 下拉刷新以及上拉加载更多
- 下拉刷新和上拉加载更多
- android 上拉刷新,下拉加载更多
- Listview下拉刷新上拉加载更多
- 下拉刷新,上拉加载更多 PullToRefresh
- C语言实现《设计模式之禅》——开篇
- linux下vim命令详解
- JDBCTemplate 分页查询
- cvHaarDetectObjects 解析(1)
- 2014你准备好了么
- iOS下拉刷新上拉加载更多EGOTableViewPullRefresh类库
- php强制下载文件download file
- Struts 2.3.15 环境搭配
- 解决:android TextView上响应部分文字的事件
- 为什么做事会拖沓,分析拖沓的习惯是怎么炼成的!
- 移动分区表和分区索引的表空间
- system调用总是返回-1
- Blackberry 6,7 java环境下开发页面之Field 图片按钮
- 经典SQL行列转换