iPhone应用炫酷的下拉更新效果
原文地址:iPhone應(yīng)用炫酷的下拉更新效果????原文作者:冥冥之中
最近看到有不少人問,像Twitter,Sina微博等這些iPhone客戶端下拉刷新是怎么實(shí)現(xiàn)的,所以花了點(diǎn)時(shí)間整理一個(gè)例子給大家參考一下。? ?
能夠下拉說明他首先得是個(gè)UIScrollView,因?yàn)橹挥兴庞心切〥rag事件。在參考一些開源代碼的基礎(chǔ)上,整理的大致思路如下:
一)在UIScrollView的頂部添加一個(gè)頭部視圖,用來顯示旋轉(zhuǎn)指針、描述文字和更新時(shí)間等。設(shè)計(jì)這個(gè)視圖不難,但怎么添加頂部去呢,而且沒有下拉 的情況下是看不到的。簡單,只要把這個(gè)頭部視圖的frame的y坐標(biāo)設(shè)置為負(fù)數(shù)就可以,比如為CGRectMake(0, -60, 320, 60),然后調(diào)用UIScrollView的addSubview方法,這就把放到頂部寬320px、高60px的地方了。當(dāng)UIScrollView往 下拖動60px,頭部視圖就完全展現(xiàn),松開后就又縮回去了。
二)其實(shí)明白了一)的道理,就可以自己做個(gè)實(shí)現(xiàn)了,但我還是把話說完吧。這一步需要設(shè)置UIScrollView的delegate,所以需要實(shí)現(xiàn) UIScrollViewDelegate。UIScrollViewDelegate實(shí)現(xiàn)里面主要處理下面幾個(gè)事 件:1)scrollViewDidScroll,當(dāng)拖動時(shí)發(fā)生,在這里加上更改頭部視圖狀態(tài)的操作,比如更新描述文字,更改箭頭方向 等;2)scrollViewDidEndDragging,當(dāng)停止拖動時(shí)發(fā)生。這里就可以寫調(diào)用遠(yuǎn)程接口的代碼了(注意最好是異步方式調(diào)用接口,在調(diào)用 完成的回調(diào)函數(shù)里面,讓UIScrollView復(fù)位)。
示例代碼中是以最常見的表格組件UITableView來舉例的,他是UIScrollView的子類。
另外這個(gè)例子中關(guān)于數(shù)據(jù)模型及與調(diào)用后臺接口的代碼不完整,因?yàn)檫@個(gè)寫上代碼就復(fù)雜了,而且大家具體的實(shí)現(xiàn)可能都不一樣,所以就點(diǎn)到為止。這個(gè)示例代碼持續(xù)更新,下一步計(jì)劃加上那種金屬質(zhì)感的聲音,以及看大家的反饋看需要什么。
在3.0的模擬器上測試通過了。有什么問題請回復(fù),謝謝!
總結(jié)
以上是生活随笔為你收集整理的iPhone应用炫酷的下拉更新效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自锁时间电路plc_1篇文章,4幅图,了
- 下一篇: 漫步者蓝牙只有一边有声音_漫步者Drea