登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

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

[复制链接]
来自: targetcloud 分类: iOS精品源码 上传时间: 2017-6-27 01:55:52
Tag:

项目介绍:

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_前缀即可


相关源码推荐:

我来说两句
*滑动验证:
所有评论(25)
littleRed 2017-6-27 10:23:06
写的真的很不错
回复
BlueManlove 2017-6-27 10:23:45
code4app好的内容真的很多~赞
回复
AlonMessi 2017-6-27 10:24:20
虽不明,但觉厉...
回复
hellokenken 2017-6-27 10:29:58
内容很好,棒棒哒
回复
kengsir 2017-6-27 10:30:30
学习...学习...
回复
phoiu 2017-6-27 10:30:36
好好 学习了 确实不错
回复
code4app热心网友 2017-6-27 13:17:51
我只是路过打酱油的。
回复
code4app热心网友 2017-6-27 14:10:13
感谢分享,Code4App有你更精彩:)
回复
code4app热心网友 2017-6-27 15:19:21
我只是路过打酱油的。
回复
123下一页
提取码:  下载次数:68 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
3072 1 68
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表