注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

 
 
 

日志

 
 

【引用】iPhone应用炫酷的下拉更新效果  

2011-09-06 10:33:12|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


楼主
iPhone应用炫酷的下拉更新效果 - 冥冥之中 - 冥冥之中 发表于 2010-6-19 05:00 | 只看该作者 | 倒序看帖 | 打印
最近看到有不少人问,像Twitter,Sina微博等这些iPhone客户端下拉刷新是怎么实现的,所以花了点时间整理一个例子给大家参考一下。   

能够下拉说明他首先得是个UIScrollView,因为只有他才有那些Drag事件。在参考一些开源代码的基础上,整理的大致思路如下:

一)在UIScrollView的顶部添加一个头部视图,用来显示旋转指针、描述文字和更新时间等。设计这个视图不难,但怎么添加顶部去呢,而且没有下拉 的情况下是看不到的。简单,只要把这个头部视图的frame的y坐标设置为负数就可以,比如为CGRectMake(0, -60, 320, 60),然后调用UIScrollView的addSubview方法,这就把放到顶部宽320px、高60px的地方了。当UIScrollView往 下拖动60px,头部视图就完全展现,松开后就又缩回去了。

二)其实明白了一)的道理,就可以自己做个实现了,但我还是把话说完吧。这一步需要设置UIScrollView的delegate,所以需要实现 UIScrollViewDelegate。UIScrollViewDelegate实现里面主要处理下面几个事 件:1)scrollViewDidScroll,当拖动时发生,在这里加上更改头部视图状态的操作,比如更新描述文字,更改箭头方向 等;2)scrollViewDidEndDragging,当停止拖动时发生。这里就可以写调用远程接口的代码了(注意最好是异步方式调用接口,在调用 完成的回调函数里面,让UIScrollView复位)。

示例代码中是以最常见的表格组件UITableView来举例的,他是UIScrollView的子类。

另外这个例子中关于数据模型及与调用后台接口的代码不完整,因为这个写上代码就复杂了,而且大家具体的实现可能都不一样,所以就点到为止。这个示例代码持续更新,下一步计划加上那种金属质感的声音,以及看大家的反馈看需要什么。

在3.0的模拟器上测试通过了。有什么问题请回复,谢谢!






欢迎转载,请注明出自悦Phone论坛凌寒,并加上原帖地址。
  评论这张
 
阅读(12)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018