欢迎光临
我们一直在努力

弹簧、橡皮筋下拉刷新控件,类似QQ下拉刷新效果

建站超值云服务器,限时71元/月

弹簧、橡皮筋下拉刷新控件,类似QQ下拉刷新效果

项目介绍:

swift版 https://github.com/targetcloud/TGRefreshSwift
OC版 https://github.com/targetcloud/TGRefreshOC
纯代码,没有用XIB

IMG_2202.PNG

IMG_2203.PNG

IMG_2205.PNG

效果

Features

  • 支持链式编程配置,程序员的最爱
  • 支持两种刷新结果提示
  • 支持QQ和Common两种下拉刷新样式
  • 支持contentInset
  • 支持Cocoapods
  • 支持MJRefresh到TGRefresh风格切换,只需要把mj_header改为tg_header,改动2个字母即可
  • 支持4种配置方式,Ordinary、Simple、Senior、Recommend,推荐使用Recommend配置
  • 支持刷新结果回显配置
  • 支持刷新结果成功或失败配置
  • 超轻量级、使用超灵活、功能超强大
  • 用例丰富,快速上手

Usage以下tv均指tableview或UIScrollview类型首先写上这一句import TGRefreshSwift
如果需要,在你的控制器中加上一句self.automaticallyAdjustsScrollViewInsets=false
QQ效果(常用、一句话)self.tv.tg_header = TGRefreshSwift.refresh(self, #selector(loadDataSenior))
普通效果self.tv.tg_header = TGRefreshSwift.refresh(self, #selector(loadDataSenior)){(refresh) in            refresh.tg_kind(.Common)        }
更多配置,使用链式编程配置    self.tv.tg_header = TGRefreshSwift.refresh(self, #selector(loadDataSenior)){(refresh) in            refresh.tg_refreshResultBgColor(UIColor.orange.withAlphaComponent(0.8))                .tg_fadeinTime(2)                .tg_verticalAlignment(.Midden)                .tg_fadeoutTime(1)                .tg_bgColor(UIColor(white:0.8,alpha:1))        }
扩展用法除了传入数据加载事件、配置信息外,还可以传入刷新控件的初始高度(默认40)与背景图self.tv.tg_header = TGRefreshSwift.refresh(self, #selector(loadDataSenior),44,UIImageView(image: UIImage(named: "profile_cover_background")) ){(refresh) in            refresh.tg_refreshResultBgColor(UIColor.orange.withAlphaComponent(0.8))                .tg_verticalAlignment(.Midden)                .tg_tinColor(UIColor.white)                .tg_tipLabelFontSize(13)                .tg_resultLabelFontSize(15)                .tg_tipFailStyle(.tipInfoWhite)                .tg_tipOKStyle(.tipOKWhite)                .tg_fadeinTime(1)                .tg_fadeoutTime(0.5)                .tg_bgColor(UIColor(white:0.8,alpha:1))        }
开始刷新self.tv.tg_header?.beginRefreshing()
(网络请求等情况得到数据后)结束刷新self.tv.tg_header?.endRefreshing()
结束刷新时的回显//示例代码DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+2) {            let isSuccess = arc4random_uniform(3) % 2 == 0            let count = isSuccess ? arc4random_uniform(20)+1 : 0            self.dataCount = count>0 ? Int(count) : self.dataCount            self.tv.tg_header?.refreshResultStr = count>0 ? "成功刷新到\(count)条数据,来自TGRefreshSwift" : "请先在Github上Star本控件:-)"            self.tv.tg_header?.isSuccess = isSuccess            isSuccess ? self.tv.reloadData() : ()            self.tv.tg_header?.endRefreshing()        }
可以配置的属性/** 刷新失败时的提示图标 */public var tipStyle:TGTipStyle = .tipInfoGray    /** 刷新成功时的提示图标 */public var tipOKStyle: TGOKTipStyle = .tipOKNormal    /** 忽略初始的InsetTop,用于刷新控件所画的位置进行定位 */public var ignoreScrollViewContentInsetTop: Bool = false    /** 各元素间边界 */public var margin: CGFloat = 10    /** 类型,默认为QQ弹簧 皮筋效果 */public var kind: TGRefreshKind = .QQ    /** 主题色(状态提示文字颜色(不包含结果提示)、ActivityIndicator颜色、橡皮筯颜色) */public var tinColor : UIColor = .gray    /** 背景色 */public var bgColor: UIColor?/** 垂直对齐,默认顶部 */public var verticalAlignment: TGRefreshAlignment = .Top    /** 是否显示刷新成功或失败 */public var isShowSuccesOrFailInfo: Bool = true    /** 是否刷新成功 在第二次刷新前自动置为true */public var isSuccess: Bool = true    /** 刷新失败时的提示文字 */public var refreshFailStr: String = "刷新失败"    /** 刷新成功时的提示文字 */public var refreshSuccessStr: String = "刷新成功"     /** 准备刷新时的提示文字 */public var refreshNormalStr: String = "下拉可以刷新"    /** 即将刷新时的提示文字 */public var refreshPullingStr: String = "松开立即刷新"    /** 正在刷新时的提示文字 */public var refreshingStr: String = "正在刷新数据中…"    /** 更新结果的回显文字 */public var refreshResultStr: String = ""    /** 更新结果的回显背景色 */public var refreshResultBgColor: UIColor = UIColor.gray.withAlphaComponent(0.8)    /** 更新结果的回显文字颜色 */public var refreshResultTextColor: UIColor = .white    /** 更新结果的回显高度 */public var refreshResultHeight: CGFloat = 34    /** 自动改变透明度,默认已做优化 */public var automaticallyChangeAlpha: Bool = false    /** 回显时的渐显时间 0.1 ~ 2秒 默认0.5 */public var fadeinTime: CGFloat = 0.5    /** 回显时的渐隐时间 0.1 ~ 5秒 默认1.5 */public var fadeoutTime: CGFloat = 1.5    /** 提示文字字体大小 9 ~ 20 默认11 */public var tipLabelFontSize: CGFloat = 11    /** 结果文字字体大小 9 ~ 20 默认12 */public var resultLabelFontSize: CGFloat = 12
使用链式编程配置时,请在所有属性前加tg_前缀即可

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 弹簧、橡皮筋下拉刷新控件,类似QQ下拉刷新效果
分享到: 更多 (0)