下拉刷新當前最流行的框架是MJRefresh,該框架也做了開源诵姜,里面也有自定義demo汽煮。我們可以通過繼承實現(xiàn)一樣的效果。
自定義MJRefresh:“什么值得買”的下拉刷新實現(xiàn) - 簡書 這篇文章可以看下棚唆,寫的666暇赤。我也主要是根據(jù)大神思路膜拜一波。
先看下MJRefresh的結(jié)構(gòu)圖宵凌,
如果改動的不大鞋囊,可以根據(jù)最后面的調(diào)整位置,實現(xiàn)繼承瞎惫。如果刷新布局改動較大溜腐,可以繼承MJRefreshHeader 與MJRefreshFooter ,實現(xiàn)五個方法即可瓜喇。
一挺益、prepare。在這里做一些初始化配置(比如添加子控件) 這個方法里實現(xiàn)添加子控件的方法即可乘寒,設(shè)置frame在第二步望众。
二、placeSubviews伞辛。在這里設(shè)置子控件的位置和尺寸烂翰,之所以在這里進行布局,是因為父類的這個方法 在layoutsubviews里實現(xiàn)蚤氏。所以布局的代碼在這里進行甘耿。所以在外面自定義的view 在這里是無法引用的。需要將添加子視圖與布局代碼隔離開來竿滨。
三佳恬、監(jiān)聽scrollView的contentOffset捏境,contentSize,拖拽狀態(tài)等改變
四殿怜、setState 典蝌。監(jiān)聽控件的刷新狀態(tài)
五曙砂、setPullingPercent头谜。監(jiān)聽拖拽比例(控件被拖出來的比例)
效果和上述文章效果是一樣的。里面解釋很詳細鸠澈。
關(guān)于怎么獲取素材柱告,手里連接itunes,
把應(yīng)用拖到桌面笑陈,改后綴為zip际度,就能獲取你需要的素材。
示例demo地址:自定義MJRefresh?