文章来源:淘论文网   发布者: 毕业设计   浏览量: 34



还可以点击去查询以下关键词:
[刷新]    [swift]    [写的]    [一款]    [简介]    [易用的]    [用的]    [定制]    [refresh]    [框架]    [支持]    [水平]    [swift写的一款简介易用的定制refresh刷新框架,支持水平刷新]   

项目介绍:

SYRefresh

首先感谢你的支持,SYRefresh 是一款简洁易用的刷新控件,支持scrolview,Tableview,collectionview刷新功能,具备灵活的扩展功能。

示例程序:

swift写的一款简介易用的定制refresh刷新框架,支持水平刷新

oc版本地址点击进入

默认刷新控件使用方法:

    //添加头部刷新控件     scrollview:    scrollview.sy_header = TextHeader(normalText: '12', pullingText: '222', refreshingText: '333', orientation: .top, height: 60, font: UIFont.systemFont(ofSize: 14), color: UIColor.black, completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {        self?.scrollview.sy_header?.endRefreshing()        }    })    tableView:    tableView.sy_header = TextHeader(normalText: '12', pullingText: '222', refreshingText: '333', orientation: .top, height: 60, font: UIFont.systemFont(ofSize: 14), color: UIColor.black, completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {        self?.tableView.sy_header?.endRefreshing()        }    })        //添加尾部刷新控件      scrollview:    scrollview.sy_footer = TextHeader(normalText: '12', pullingText: '222', refreshingText: '333', orientation: .bottom, height: 60, font: UIFont.systemFont(ofSize: 14), color: UIColor.black, completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {        self?.scrollview.sy_footer?.endRefreshing()        }    })            tableView:    tableView.sy_footer = TextHeader(normalText: '12', pullingText: '222', refreshingText: '333', orientation: .bottom, height: 60, font: UIFont.systemFont(ofSize: 14), color: UIColor.black, completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {        self?.tableView.sy_footer?.endRefreshing()        }    })

GIF图片刷新控件使用方法:

  let data = try! Data(contentsOf: Bundle.main.url(forResource: 'giphy.gif', withExtension: nil)!)    tableView.sy_header = GifHeaderFooter(data: data, orientation: .top, height: 100,contentMode:.scaleAspectFill,completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 2) {            self?.tableView.sy_header?.endRefreshing()        }    })        tableView.sy_footer = GifHeaderFooter(data: data, orientation: .bottom, height: 100,contentMode:.scaleAspectFill,completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 2) {            self?.tableView.sy_footer?.endRefreshing()        }    })

GIF图片加文字刷新控件使用方法:

   let data = try! Data(contentsOf: Bundle.main.url(forResource: 'demo-small.gif', withExtension: nil)!)    let textItem = TextItem(normalText: RefreshConfig.headerNomalText, pullingText: RefreshConfig.headerPullingText, refreshingText: RefreshConfig.headerRefreshText, font: UIFont.systemFont(ofSize: 13), color: UIColor.black)    collectionView?.sy_header = GifTextHeaderFooter(data: data,textItem:textItem, orientation: .top, height: 60,contentMode:.scaleAspectFit,completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 3) {            self?.collectionView?.sy_header?.endRefreshing()        }    })        let textItem2 = TextItem(normalText: RefreshConfig.footerNomalText, pullingText: RefreshConfig.footerPullingText, refreshingText: RefreshConfig.footerRefreshText, font: UIFont.systemFont(ofSize: 13), color: UIColor.black)    collectionView?.sy_footer = GifTextHeaderFooter(data: data,textItem:textItem2, orientation: .bottom, height: 60,contentMode:.scaleAspectFit,completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 3) {            self?.collectionView?.sy_footer?.endRefreshing()        }    })#p#分页标题#e#

传入gif图片数组实现gif播放:

     let header  = GifImagesHeaderFooter(orientation: .top, height: 80, contentMode: .scaleAspectFit, completion: {  [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 2) {            self?.collectionView?.sy_header?.endRefreshing()        }    })    let stateIdleImages = (1..<20).map { index->UIImage in        let imageName = 'refresh_camera_frame'.appending('\(index)')        let image = UIImage(named: imageName)        return image!    }    let pullingImages = (20..<21).map { index->UIImage in        let imageName = 'refresh_camera_frame'.appending('\(index)')        let image = UIImage(named: imageName)        return image!    }    let refreshingImages = (21...45).map { index->UIImage in        let imageName = 'refresh_camera_frame'.appending('\(index)')        let image = UIImage(named: imageName)        return image!    }    header.setRefreshState(state: .stateIdle, images: stateIdleImages)    header.setRefreshState(state: .pulling, images: pullingImages)    header.setRefreshState(state: .refreshing, images: refreshingImages)    collectionView?.sy_header =  header        let footer = GifImagesHeaderFooter(orientation: .bottom, height: 60, contentMode: .scaleAspectFit, completion: {  [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {            self?.collectionView?.sy_footer?.endRefreshing()        }    })    footer.setRefreshState(state: .stateIdle, images: stateIdleImages)    footer.setRefreshState(state: .pulling, images: pullingImages)    footer.setRefreshState(state: .refreshing, images: refreshingImages)    collectionView?.sy_footer = footer

文字绘制动画:

    let textItem = TextItem(normalText: VerticalHintText.headerNomalText, pullingText: VerticalHintText.headerPullingText, refreshingText: VerticalHintText.headerRefreshText, font: UIFont.systemFont(ofSize: 18), color: UIColor.black)        tableView.sy_header = CoreTextHeaderFooter(textItem: textItem, orientation: .top, height: 44,completion: { [weak self] in        DispatchQueue.main.asyncAfter(deadline: .now() + 5) {        self?.tableView.sy_header?.endRefreshing()        self?.count = 15        self?.tableView.reloadData()        }    })    let textItem1 = TextItem(normalText: VerticalHintText.headerNomalText, pullingText: VerticalHintText.headerPullingText, refreshingText: VerticalHintText.headerRefreshText, font: UIFont.systemFont(ofSize: 18), color: UIColor.black)    tableView.sy_footer = CoreTextHeaderFooter(textItem: textItem1, orientation: .bottom, height: 44,completion: { [weak self] in            DispatchQueue.main.asyncAfter(deadline: .now() + 5) {            self?.tableView.sy_footer?.endRefreshing()            self?.count += 15            self?.tableView.reloadData()            }    })

UICollectionView的使用方法同上,如果UICollectionView需要支持水平刷新功能,开题报告,请设置布局的方向为水平方向即可!

目前还不会支持cocopods,因为它还在起步阶段,等到它功能完善得到大家的认可的时候,我会放到cocopods仓库

如果你在使用中遇到了什么问题,可以直接在讨论区提出,开题报告,我会及时的解决。


这里还有:


还可以点击去查询:
[刷新]    [swift]    [写的]    [一款]    [简介]    [易用的]    [用的]    [定制]    [refresh]    [框架]    [支持]    [水平]    [swift写的一款简介易用的定制refresh刷新框架,支持水平刷新]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/6657.docx
  • 上一篇:excelTable定制 表格实现
  • 下一篇:选项卡滚动视图、表情键盘样式