IOS详解TableView——内置刷新,EGO,以及搜索显示控制器

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:03 点击:
这几天因为住的地方的网出了一点问题,除了能上Q,上微博以外其他的网页全都无法登陆。博客也就没有跟进。 p>今天恢复了,所以继续更新博客。也希望大家能继续评论或私自给我一些建议或者交流:-)

p> 

p>今天找到了以前一个TableView的例子,主要关于上下拉刷新的,所以写了一个demo,然后更新到博客上来。

p> 

p>内置刷新

p> 

p>内置刷新是苹果IOS6以后才推出的一个API,主要是针对TableViewController增加了一个属性,refreshControl,所以如果想用这个内置下拉刷新的话,最好给你的TableView指定一个专门的视图控制器了。

p> 

p>使用的话,我们需要给refreshControl指定一个UIRefreshControl对象。跟进到头文件中看到

p>

p> 

p>三个属性,算上初始化三个方法,并不难,然后配置refreshControl

p> 

p>[cpp]  

p>/******内置刷新的常用属性设置******/  

p>UIRefreshControl *refresh = [[UIRefreshControl alloc] init];  

p>refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"下拉刷新"];  

p>refresh.tintColor = [UIColor blueColor];  

p>[refresh addTarget:self action:@selector(pullToRefresh) forControlEvents:UIControlEventValueChanged];  

p>self.refreshControl = refresh;  

p> 

p>设置了一个监听方法,来简单看下其实现

p> 

p>[cpp]  

p>//下拉刷新  

p>- (void)pullToRefresh  

p>{  

p>    //模拟网络访问  

p>    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;  

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

p>      

p>    double delayInSeconds = 1.5;  

p>    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));  

p>    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){  

p>        _rowCount += 5;  

p>        [self.tableView reloadData];  

p>        //刷新结束时刷新控件的设置  

p>        [self.refreshControl endRefreshing];  

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

p>          

p>        [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;  

p>        _bottomRefresh.frame = CGRectMake(0, 44+_rowCount*RCellHeight, 320, RCellHeight);  

p>    });  

p>}  

p> 

p>因为这里并不是真正进行网络访问,所以这里用到了一个模拟网络访问延时的方法 dispatch_after 关于这个GCD方法并不难,只要设置延时时间和延时结束Block中的代码即可。

p> 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • UITableView一些方法
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • ios版本的helloworld
    • iPhone SDK开发:本地文本文件内容的读取
    • 如何为Iphone应用创建启动界面
    • 去掉屏幕键盘的方法
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1