Swift中简洁的下拉刷新控件

timg.jpeg
RefreshTool.gif

这是最简洁的刷新控件,当然这是在MJRefresh框架的基础之上修改的,用法很简单。

首先在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

而在需要用到这个刷新数据的地方调用即可。

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

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

这样就很优雅的运用了刷新控件了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • 此时是2018年12月21日晚上八点四十五分,我怀着忐忑不安而又平缓的心情坐在电脑跟前,开始在无聊中乱写。 心中的...
    疯了的橙子阅读 507评论 0 2
  • 小时候记忆里的过年是装满了花生和瓜子的口袋。以及不好容易从父母那里要来的零花钱。偷偷的去买棒棒糖。小时候的每一年我...
    夏末微光阅读 323评论 0 3
  • 爱,是深深的理解与接纳。——罗杰斯(美国心理学家) 我们知道,童年的经历,对一个人的影响是深远的。 有这样一个小女...
    周学税文阅读 951评论 0 0