Swift中簡潔的下拉刷新控件

timg.jpeg
RefreshTool.gif

這是最簡潔的刷新控件,當(dāng)然這是在MJRefresh框架的基礎(chǔ)之上修改的,用法很簡單。

首先在Controller的extension 中寫上定義方法。

    public func configHeaderRefreshIndicatorView() -> MJRefreshNormalHeader {
        
        let headerView = MJRefreshNormalHeader.init(refreshingTarget: self, refreshingAction: #selector(headerRefresh))
        
        headerView?.stateLabel.textColor = UIColor.init(valueRGB: 0x5EDBFF)
        headerView?.stateLabel.isHidden = true
        
        for objView in (headerView?.subviews)! {
            
            if objView.isKind(of: UIActivityIndicatorView.self) {
                
                let indicatorView : UIActivityIndicatorView = objView as! UIActivityIndicatorView
                indicatorView.color = UIColor.init(valueRGB: 0x5EDBFF)
            }
        }
        
        return headerView!
    }
    
    @objc func headerRefresh() {
        
    }
    
    public func configFooterRefreshIndicatorView() -> MJRefreshBackNormalFooter {
        
        let footerView = MJRefreshBackNormalFooter.init(refreshingTarget: self, refreshingAction: #selector(footerRefresh))
        
        footerView?.stateLabel.textColor = UIColor.init(valueRGB: 0x5EDBFF)
        footerView?.stateLabel.isHidden = false
        
        for objView in (footerView?.subviews)! {
            
            if objView.isKind(of: UIActivityIndicatorView.self) {
                
                let indicatorView : UIActivityIndicatorView = objView as! UIActivityIndicatorView
                indicatorView.color = UIColor.init(valueRGB: 0x5EDBFF)
            }
        }
        
        return footerView!
    }
    
    @objc func footerRefresh() {
        
    }

顏色值可以自定義,但先的 import MJRefresh

而在需要用到這個刷新數(shù)據(jù)的地方調(diào)用即可。

    func configRefresh() {
        
        tableView.mj_header = configHeaderRefreshIndicatorView()
        tableView.mj_footer = configFooterRefreshIndicatorView()
    }

    override func headerRefresh() {
        
        page = 1
        dataRequest()
    }
    
    override func footerRefresh() {
        
        page = 1 + page
        dataRequest()
    }

這樣就很優(yōu)雅的運(yùn)用了刷新控件了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,206評論 4 61
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,136評論 1 32
  • 此時是2018年12月21日晚上八點四十五分,我懷著忐忑不安而又平緩的心情坐在電腦跟前,開始在無聊中亂寫。 心中的...
    瘋了的橙子閱讀 499評論 0 2
  • 小時候記憶里的過年是裝滿了花生和瓜子的口袋。以及不好容易從父母那里要來的零花錢。偷偷的去買棒棒糖。小時候的每一年我...
    夏末微光閱讀 317評論 0 3
  • 愛,是深深的理解與接納。——羅杰斯(美國心理學(xué)家) 我們知道,童年的經(jīng)歷,對一個人的影響是深遠(yuǎn)的。 有這樣一個小女...
    周學(xué)稅文閱讀 939評論 0 0