ios iphone开发 下拉更新

最近看到有不少人问,像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的模拟器上测试通过了。有什么问题请回复,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值