- iOS 10.0+
- Xcode 10.1+
- Swift 4.2+
- 如果你只需要MJRefresh的封装工具,在文件
Podfile
中加入pod 'HZPlaceHolder/Refresh'
- 如果你只需要空数据占位图工具,在文件
Podfile
中加入pod 'HZPlaceHolder/PlaceHolderView'
- 如果你两者皆需,则在文件
Podfile
中加入pod 'HZPlaceHolder'
① 普通使用方法:
- 第一步:
UITableView
或UICollectionView
刷新调用hz_reloadData
- 第二步:
UIViewController
继承代理HZTableViewPlaceHolderDelegate
或HZCollectionViewPlaceHolderDelegate
- 第三步:实现代理方法:
func makePlaceHolderView() -> UIView?
----> 返回自定义View,也可使用HZPlaceHolderView
创建返回func enableScrollWhenPlaceHolderViewShowing() -> Bool
----> 当数据为空时是否可滚动,默认为true
② HZTableViewModel使用方法:
- 第一步:
UITableView
刷新调用hz_reloadData
- 第二步:调用tableViewModel的
.makePlaceHolderViewHandler
或.placeHolderView
设置空态View
PlaceHolderView中已封装了 HZPlaceHolderView
,使用方法如下:
/// 创建空态页HZPlaceHolderView
/// - Parameters:
/// - image: 占位图
/// - ibSpace: 占位图底部距标题顶部间距
/// - titleAttributedString: 标题富文本
/// - titleCenterYConstant: 标题水平居中偏移量
/// - beforeButton: 前按钮
/// - btSpace: 前按钮顶部距标题(副标题)底部间距
/// - clickBeforeButtonHandler: 前按钮点击事件回调
/// - afterButton: 后按钮
/// - clickAfterButtonHandler: 后按钮点击事件回调
/// - buttonSize: 按钮宽高
/// - buttonSpace: 俩按钮间距
/// - buttonLayoutType: 俩按钮布局样式
/// - backgroundColor: 背景色
/// - clickBackgroundHandler: 背景点击事件回调
- 除标题必传以外,其他皆为可选
/**
normal刷新
- parameter isFirstRefresh: 第一次是否自动刷新
- parameter refreshHeader: 刷新的refreshHeader
- parameter refreshFooter: 刷新的refreshFooter
- parameter headerRefreshHandler: header刷新回调
- parameter footerRefreshHandler: footer刷新回调
*/
- 只有下拉 ->
tableView.hz.normalRefreshWithHeader
- 带BackNormalFooter
- 上下拉 ->
tableView.hz.normalRefreshWithHeaderBackFooter
- 上拉 ->
tableView.hz.normalRefreshWithBackFooter
- 上下拉 ->
- 带AutoNormalFooter
- 上下拉 ->
tableView.hz.normalRefreshWithHeaderAutoFooter
- 上拉 ->
tableView.hz.normalRefreshWithAutoFooter
- 上下拉 ->
/**
gif刷新
- parameter isFirstRefresh: 第一次是否自动刷新
- parameter refreshHeader: 刷新的refreshHeader
- parameter refreshFooter: 刷新的refreshFooter
- parameter headerRefreshHandler: header刷新回调
- parameter footerRefreshHandler: footer刷新回调
*/
- 只有下拉 ->
tableView.hz.gifRefreshWithHeader
- 带BackGifFooter
- 上下拉 ->
tableView.hz.gifRefreshWithHeaderBackFooter
- 上拉 ->
tableView.hz.gifRefreshWithBackFooter
- 上下拉 ->
- 带AutoGifFooter
- 上下拉 ->
tableView.hz.gifRefreshWithHeaderAutoFooter
- 上拉 ->
tableView.hz.gifRefreshWithAutoFooter
- 上下拉 ->