Latest 1.0.0
Homepage https://github.com/LeaderBoy/ZYEmptyStateScrollView
License MIT
Platforms ios 8.0, requires ARC
Dependencies DZNEmptyDataSet
Frameworks UIKit
Authors

让UIScrollView/UITableView/UICollectionView 在加载不同的时期显示不同的视图,比如加载成功,加载中,加载无数据,无网络连接,加载失败几种情况显示不同的视图,避免空白页面体验差,只需三行代码.

效果图

enter image description here

安装

在 podfile 中

pod 'ZYEmptyStateScrollView' 

在终端执行

pod install

视图的几种状态

/**
 UIScrollView 视图为空的各种状态

 - ZYScrollViewStateNetworkUnReachable: 无网络链接
 - ZYScrollViewStateLoading: 加载中
 - ZYScrollViewStateNoData: 加载无数据
 - ZYScrollViewStateLoadFailed: 加载失败
 - ZYScrollViewStateLoadSuccess: 加载成功
 */

使用方法

#import "UIScrollView+ZYEmptyState.h"
加载空视图数据方式1 : 使用数组加载 (只需加载一次即可)

[self.tableView loadEmptyDataFromArray:self.emptyDataArray];

数组的样子 :
1.此处注意的点 ZYScrollViewStateNetworkUnReachable为数组的第0个 依次类推
2.颜色请使用如下方式赋值 [[UIColor redColor] zy_colorToString]

-(NSArray<NSDictionary *> *)emptyDataArray {
    if (!_emptyDataArray) {

        _emptyDataArray = @[

                            @{ZYEmptyDataSourceTitleKey:@"无网络链接",ZYEmptyDataSourceTitleColorKey:[[UIColor redColor] zy_colorToString],ZYEmptyDataSourceDescriptionTitleKey:@"请到设置 - 通用 打开网络",ZYEmptyDataSourceButtonTitleKey:@"按钮",ZYEmptyDataSourceImageKey:@"noNetwork_empty"},
  @{ZYEmptyDataSourceTitleKey:@" ",ZYEmptyDataSourceDescriptionTitleKey:@" ",ZYEmptyDataSourceButtonTitleKey:@" ",ZYEmptyDataSourceImageKey:@" "},
  @{ZYEmptyDataSourceTitleKey:@"沙发",ZYEmptyDataSourceDescriptionTitleKey:@"抢先评论",ZYEmptyDataSourceButtonTitleKey:@"按钮",ZYEmptyDataSourceImageKey:@"empty_my_comment3"},
  @{ZYEmptyDataSourceTitleKey:@"加载失败",ZYEmptyDataSourceDescriptionTitleKey:@"请检查设置",ZYEmptyDataSourceButtonTitleKey:@"重试",ZYEmptyDataSourceImageKey:@"empty_my_publish3"},
  @{ZYEmptyDataSourceTitleKey:@" ",ZYEmptyDataSourceDescriptionTitleKey:@" ",ZYEmptyDataSourceButtonTitleKey:@" ",ZYEmptyDataSourceImageKey:@" "}];
    }
    return _emptyDataArray;
}

方式2: 使用plist文件加载 下载地址 : Plist文件(只需加载一次即可)

[self.tableView loadEmptyDataFromPlist:@"ZYEmptyScrollViewDataSource"];

使用 以ZYScrollViewStateLoading为例子

//刷新空视图的数据
self.tableView.emptyDataState = ZYScrollViewStateLoading;
[self.tableView reloadEmptyDataSet];
// 刷新界面数据的时候使用: 一般为success的时候使用 其余情况一般无需使用
[self.tableView reloadData];
使用自定义视图的情况
// customView为伪代码
self.tableView.emptyDataSource.emptyCustomView = [self customView];

注意: 当只有一种状态需要自定义视图其他状态无需使用自定义视图的时候需要使用self.tableView.emptyDataSource.emptyCustomView = nil 置空处理

使用自定义动画的情况

// 遵循DZNEmptyDataSetDelegate 代理方法
self.tableView.emptyDataSetDelegate = self;
// 实现协议方法
-(BOOL)emptyDataSetShouldAnimateImageView:(UIScrollView *)scrollView {
    return YES;
}

// 自定义动画 :  makeAnimation为伪代码
self.tableView.emptyDataSource.emptyImageAnimation = [self makeAnimation];

注意:当只有一种状态需要自定义动画其他状态无需使用自定义视图的时候需要使用self.tableView.emptyDataSource.emptyImageAnimation = nil 置空处理

Latest podspec

{
    "name": "ZYEmptyStateScrollView",
    "version": "1.0.0",
    "summary": "u8ba9UIScrollView/UITableView/UICollectionView u5728u52a0u8f7du4e0du540cu7684u65f6u671fu663eu793au4e0du540cu7684u89c6u56fe",
    "description": "u8ba9UIScrollView/UITableView/UICollectionView u5728u52a0u8f7du4e0du540cu7684u65f6u671fu663eu793au4e0du540cu7684u89c6u56fe,u6bd4u5982u52a0u8f7du6210u529f,u52a0u8f7du4e2d,u52a0u8f7du65e0u6570u636e,u65e0u7f51u7edcu8fdeu63a5,u52a0u8f7du5931u8d25u51e0u79cdu60c5u51b5u663eu793au4e0du540cu7684u89c6u56fe,u907fu514du7a7au767du9875u9762u4f53u9a8cu5dee,u53eau9700u4e09u884cu4ee3u7801.",
    "homepage": "https://github.com/LeaderBoy/ZYEmptyStateScrollView",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "LeaderBoy": "[email protected]"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/LeaderBoy/ZYEmptyStateScrollView.git",
        "tag": "1.0.0"
    },
    "source_files": [
        "ZYEmptyStateScrollView/ZYEmptyState",
        "ZYEmptyStateScrollView/ZYEmptyState/**/*.{h,m}"
    ],
    "frameworks": "UIKit",
    "requires_arc": true,
    "dependencies": {
        "DZNEmptyDataSet": [
            "~> 1.8.1"
        ]
    }
}

Pin It on Pinterest

Share This