国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS編寫下拉刷新控件的原理

2020-02-19 15:48:11
字體:
來源:轉載
供稿:網友

在iOS開發中,下拉加載的刷新動畫大部分應用程序都會使用基本相同的風格和動畫,當然還有很多優秀的加載動畫,但這些動畫在國內應用程序中很少出現,武林技術頻道小編為大家介紹iOS編寫下拉刷新控件的原理。

下拉刷新的基本原理

在scrollview的上面和下面分別添加一個view,上面的是下拉的時候展示下拉動畫的headerView,下面的是上拉加載更多的時候展示動畫的footerView

這里的headerView和footerView都是自己添加的,和tableView自己的header,footer不一樣

headerView是添加在scrollView的最上面的,設置frame的時候是origin.y是負數

當下拉達到條件就觸發刷新,同時更改scrollview的contentInsert.top值,以使手指松開之后headerView仍然可以露出來

刷新結束之后,停止headerView上面的動畫,然后把contentInsert的值改回去

footerView是添加在最下方的,frame.origin.y是scrollview的contentSize.height

在上拉到一定程度之后就更改scrollview的contentInsert,使footerView可以露出來,加載結束之后就改回去

如何寫下拉刷新

寫下拉刷新一般都是給scrollview寫一個類別,添加一個新的方法,來把headerView和footerView添加到scrollview上面

給scrollview聲明一個headerView類型的屬性(如何給類別添加屬性)

然后給scrollview的contentoffset屬性添加監聽者,這個監聽者就是headerView

這樣,在scrollview滑動的時候,就可以監聽到滑動的情況,并根據數據來決定是否刷新和時候改變scrollview.contentInsert.y

然后再寫一個停止刷新的方法,用來停止刷新動畫和更改scrollview.contentInsert.y

這樣scrollview的擴展就寫完了,然后就要寫自定義的headerView

headerView的動畫是根據需要些的,數據來源就是監聽到的contentoffset

在scrollViewDidScroll方法里來處理監聽到的值

這里使用了一個枚舉類型來記錄刷新狀態,從而控制動畫

雖然原理簡單,但是實踐起來遇到了很多困難,有技術上的,也有邏輯上的,心力交瘁,才搞出來一個小

Demo:https://github.com/chebaoGitHub/CBGeneralRefreshView

footerView同理

閱讀完上述武林技術頻道介紹的iOS編寫下拉刷新控件的原理,大家了解了多少呢?更多的程序知識,盡在武林技術頻道!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南昌市| 新建县| 尼木县| 侯马市| 称多县| 乌什县| 务川| 奉贤区| 石渠县| 太白县| 五原县| 惠水县| 新巴尔虎左旗| 南昌市| 舒城县| 丽江市| 林口县| 炎陵县| 宜春市| 曲靖市| 滁州市| 克什克腾旗| 辽宁省| 鸡泽县| 莱西市| 禹城市| 承德县| 华池县| 长岭县| 阿巴嘎旗| 开封市| 那坡县| 镶黄旗| 漠河县| 新营市| 辽宁省| 宝丰县| 贺兰县| 五大连池市| 阜新| 南平市|