IOS6 新特性之UIRefreshControl
来源:互联网 发布:360手柄模拟软件 编辑:程序博客网 时间:2024/04/29 04:12
不会调戏代码的不是骨灰级码工
你同意吗?
苹果估计想取代第三方的pull to refresh” --------------以上摘自DevDiv社区
源代码参考了DevDiv社区的代码 地址:http://www.devdiv.com/iOS_iPhone-iOS6%E6%96%B0%E7%89%B9%E5%BE%81%EF%BC%9AUIRefreshControl_%E4%B8%8B%E6%8B%89%E5%88%B7%E6%96%B0_%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B-thread-127741-1-1.html
如上述摘文最后一句所言,在苹果IOS6的新特性中有一个叫做UIRefreshControl的控件,顾名思义,它的用途正是 pull to refresh。
在进入到代码层面上的解释前,需要先说一点:在IOS6中 只有UITableViewController能够使用UIRefreshControl控件,其他的viewController如果使用了,会报错。
要使用UIRefreshControl需要有3个步骤 一、初始化以及配置 二、与UItableViewController以及相应动作的关联 三、为UIRefreshControl控件添加动作
首先 先看初始化:(这里的self是UITableViewController 即以下代码是写在一个UITableViewController.m中的)
self.refreshControl = [[UIRefreshControl alloc] init];//把refreshControl写成了UITableViewController的属性
self.refreshControl.tintColor = [UIColor blueColor];//将控件颜色设为蓝色
self.refreshControl.attributedTitle = [[NSAttributedString alloc] initWithString:@"下拉刷新"];
//与UIRefreshControl控件对应的文字文字当然是可以更改的从而可以显示 刷新中下拉刷新等提示语
以上 代码便是UIRefreshControl的初始化以及两个属性的配置
涉及到 1个初始化方法init 和两个属性tintColor(控件颜色) attributedTitle(匹配的文字)
这里attributedTitle要注意其类型是NSAttributedString
这类字符串的特性是可以分为好几段 然后编辑成不同的字体类型(包括不同颜色)
注意:在UITableViewController的viewdidload方法中 添加这些代码
接下来是第二个步骤 与UItableViewController以及相应动作的关联:
在初始化完成之后 加上该语句:[self.refreshControl addTarget:self
action:@selector(RefreshViewControlEventValueChanged)
forControlEvents:UIControlEventValueChanged];
addTarget:self 即完成了与UITableViewController的管理 (self即是UITableVIewController)
action:@selector(RefreshViewControlEventValueChanged) 即完成了与相应动作的关联 (虽然动作还没写)
最后的步骤便是添加相应动作:
见代码:
-(void)RefreshViewControlEventValueChanged
{
if (self.refreshControl.refreshing) {
NSLog(@"refreshing");
self.refreshControl.attributedTitle = [[NSAttributedStringalloc]initWithString:@"刷新中"];
[self performSelector:@selector(handleData) withObject:nil afterDelay:0.3];
}
}
这里涉及到了UIRefreshControl控件的最后一个属性 refreshing 该属性为真 意味着执行了下拉操作 即你拉的够用力- -有效果。
之后 便可以实现你需要的效果 这里时为UITableView增加一行
PS:在以上的代码中 漏掉了2个实例方法
beginRefreshing 和 endRefreshing 一个开始刷新 一个结束刷新(这个代码中实际上用到了 在handleData里面)
最后 想下载源代码的同学 可以访问文章开头的地址 然后回复下载
- IOS6 新特性之UIRefreshControl
- ios6新特性之下拉刷新UIRefreshControl
- IOS6新特性 UIRefreshControl下拉刷新
- ios6新特性之下拉刷新UIRefreshControl
- IOS6新特性之下拉刷新<UIRefreshControl>
- ios6新特性之下拉刷新UIRefreshControl
- iOS6新特性UIRefreshControl下拉刷新与上拉加载
- iOS10新特性之UIRefreshControl的使用
- iOS6新特征:UIRefreshControl实现下拉刷新
- iOS6新特征:UIRefreshControl实现下拉刷新
- IOS6 新特性之UIActivityViewController详解
- ios6的新特性
- IOS6新特性
- ios6新特性
- IOS6.0 新特性
- iOS6新特性
- ios6新特性
- iOS6 语法新特性
- 获取Android控件的宽和高
- 一个程序员的十年总结
- Bluetooth air sniffer (FTS4BT)
- Windbg waiting to reconnect 问题解决办法
- Cocos2D-X中的内部函数
- IOS6 新特性之UIRefreshControl
- Java集合类总结
- C++中基类和派生类的protcted成员的理解
- jquery mobile 常用data属性
- 编程命名法——帕斯卡命名法和骆驼命名法
- 九项重要的职业规划提示
- 激活SEAndroid(五)
- sed用法总结
- Kmeans 文本聚类