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

这几天因为住的地方的网出了一点问题,除了能上Q,上微博以外其他的网页全都无法登陆。博客也 就没有跟进。

今天恢复了,所以继续更新博客。也希望大家能继续评论或私自给我一些建议或者 交流:-)

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

内置刷新

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

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

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

/******内置刷新的常用属

性设置******/
UIRefreshControl *refresh = [[UIRefreshControl alloc] init];
refresh.attributedTitle = [[NSAttributedString alloc] initWithString:@"下拉刷新"];
refresh.tintColor = [UIColor blueColor];
[refresh addTarget:self action:@selector(pullToRefresh) 

forControlEvents:UIControlEventValueChanged];
self.refreshControl = refresh;

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

//下拉

刷新
- (void)pullToRefresh
{
    //模拟网络访问
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
    self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"刷新

中"];  

    double delayInSeconds = 1.5;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * 

NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        _rowCount += 5;
        [self.tableView reloadData];
        //刷新结束时刷新控件的设置
        [self.refreshControl endRefreshing];
        self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"

下拉刷新"];  

        [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
        _bottomRefresh.frame = CGRectMake(0, 44+_rowCount*RCellHeight, 320, RCellHeight);
    });
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索下拉刷新问题
, uirefreshcontrol
, tableview
, ios tableview 区头
, tableview下划线
, refresh
, ios tableview 聊天
, ios tableview
, 一个
, 下拉
, Self
, uirefreshcontrol下拉
, uirefreshcontrol使用
tableview左右联动
,以便于您获取更多的相关知识。

时间: 2024-10-03 23:26:24

IOS详解TableView:内置刷新,EGO,以及搜索显示控制器的相关文章

实例详解JSP内置对象

js|对象|内置对象|详解 jsp九种内置对象:request, reponse, out, session, application, config, pagecontext, page, exception. 一.request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息. 1.Request对象可以使用getParameter(string s)方法获取该表单通过text提交的信息.如: Request.getParamet

详解PHP内置访问资源的超时时间 time_out file_get_contents read_file_php实例

提问我循环用file_get_contents抓取一堆url,但总是会在不到第100个URL的时候停下,提示我:"Warning: file_get_contents(URL) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 500 Read timed outin D:\website\extra.php on line 65"我在程序的开始已经有set_time_l

IOS详解TableView:性能优化及手工绘制UITableViewCell

提高表视图的性能 UITableView作为应用中最常用的视图,它的性能优化问题几乎是经常提及 .下面对在非网络访问情况下的表视图性能优化进行了主要的几点说明: 1.自定义类或XIB文件 时 在系统提供的样式不能满足我们的时候,我们经常会创建自定义类或者XIB文件来自定义单元 格样式. 在之前,我们通常通过loadNib的方式或者在代理方法中继续使用老的方法来设置重用 ,管理缓存池.在IOS6以后,我们可以通过注册的方式在注册单元格甚至表头视图,让系统来更高效的 进行管理. 2.Interfac

IOS详解TableView:QQ好友列表的实现

上篇博客写了关于性能优化以及手工绘制自定义单元格内容,这篇我们利用TableView的Section的 Header来实现类似QQ好友列表的效果. TableView有一个代理方法 这个方法返回一个UIView对象,我们可以将一个Button对象设为这个Section的Header,在点击它的 时候展开列表内容. 简单地看下假的好友列表数据 一个array中包含多个 dictionary,字典中又包括组别的名字以及好友列表,好友也用一个字典来表示,分别有名称,是否在 线以及头像图片名字. 加载数

IOS详解TableView:对话聊天布局的实现

上篇博客介绍了如何使用UITableView实现类似QQ的好友界面布局.这篇讲述如何利用自定义单元格 来实现聊天界面的布局. 借助单元格实现聊天布局难度不大,主要要解决的问题有两个: 1.自己和其他人说话头像和气泡图像在不同的位置. 找了些类似的例子,有根据不同情 况设置不同的自定义类的.这里使用根据说话人的属性来设置不同的位置,在一个单一的单元格类中. 2.像微博等根据说话的内容长短对说话图片进行拉伸,以及单元格自适应高度. 实现步 骤: 搭建界面 数据属性字典

IOS详解TableView:实现九宫格效果

根据需求九宫格的效果可以有很多种.九宫格效果应用比较广泛,实现也多种多样,比如选项抽屉效 果. 这里写了一个在UITableView上显示九宫格效果的Demo. 思路:在Cell上初始化自定 义按钮,根据预设的每行按钮个数来决定他们在Cell上的位置.然后响应点击事件即可.整体实现不是 很难,细节上注意一下即可. 搭建界面 数据,图片来自于天猫客户端的一些资源图片,然后还是以属性字典的方式读取提前设定的数据.

IOS详解TableView:静态表格使用以及控制器间通讯

一个Demo 通过使用静态表格来完成个人资料增加编辑以及搜索.不过通常我们会使用更灵活的Group 风格表视图来完成. 上篇文章简单的介绍了一下搜索框的使用.这里给其加入数据来说明. 先看下效果

IOS详解TableView:选项抽屉(天猫商品列表)

在之前的有篇文章讲述了利用HeaderView来写类似QQ好友列表的表视图. 这里写的天猫抽屉 其实也可以用该方法实现,具体到细节每个人也有所不同.这里采用的是点击cell对cell进行运动处理 以展开"抽屉". 最后完成的效果大概是这个样子. 主要的环节: 点击将可视的Cell动画弹开. 其他的Cell覆盖一层半透明视图,将视线 焦点集中在弹出来的商品细分类别中. 再次点击选中的或其他Cell,动画恢复到点击之前所在的 位置. 商品细分类别属于之前写过的九宫格实现.这里就不贴代码了.

详解PHP+AJAX无刷新分页实现方法_php技巧

PHP+AJAX无刷新分页实现代码详解,最近在看ajax 教程,就想写个简单入门的PHP+AJAX无刷新分页,我们依据ajax开发框架,代码如下: var http_request=false; function send_request(url){//初始化,指定处理函数,发送请求的函数 http_request=false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest){//Mozilla浏览器 http_request=new XMLH