TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Jun 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✗ |
Maintained by targetcloud.
弹簧、橡皮筋下拉刷新控件,类似QQ下拉刷新控件,但比QQ 更强,同时支持其他样式,目前总共2种样式,后续不断添加中…
https://github.com/targetcloud/TGRefreshOC
首先写上这一句
import TGRefreshSwift
如果需要,在你的控制器中加上一句
self.automaticallyAdjustsScrollViewInsets=false
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 indicatorRefreshingStyle: TGIndicatorType = .lineCursor
/** 刷新前的指示器类型 */
public var indicatorNormalStyle: TGIndicatorType = .lineOrderbyAsc
/** 刷新失败时的提示器样式 */
public var tipFailStyle: TGIndicatorType = .ballScaleMultiple
/** 刷新失败时的提示器颜色 */
public var tipFailColor: UIColor = .red
/** 刷新成功时的提示器样式 */
public var tipOKStyle: TGIndicatorType = .ballScaleMultiple
/** 刷新成功时的提示器颜色 */
public var tipOKColor: UIColor = .green
/** 忽略初始的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
TGIndicatorType可供选择的动画类型有
.ballPulse
.ballGridPulse
.ballClipRotate
.squareSpin
.ballClipRotatePulse
.ballClipRotateMultiple
.ballPulseRise
.ballRotate
.cubeTransition
.ballZigZag
.ballZigZagDeflect
.ballTrianglePath
.ballScale
.lineScale
.lineScaleParty
.ballScaleMultiple
.ballPulseSync
.ballBeat
.lineScalePulseOut
.lineScalePulseOutRapid
.ballScaleRipple
.ballScaleRippleMultiple
.ballSpinFadeLoader
.lineSpinFadeLoader
.triangleSkewSpin
.pacman
.ballGridBeat
.semiCircleSpin
.ballRotateChase
.orbit
.lineCursor
.squareGridPulse
.squarePulse
.windows
.lineOrderbyAsc
.audioEqualizer
下载并拖动TGRefreshSwift到你的工程中
Cocoapods
pod 'TGRefreshSwift'
如果你觉得赞,请Star