Latest 1.0.2
Homepage https://github.com/Pangshishan/PSSTableViewNoneData
License MIT
Platforms ios 8.0, requires ARC
Frameworks UIKit
Authors

tableView没有数据时,需要展示占位图,如果项目还不成熟,没有这方面的机制,需要添加时,我们每一个使用了tableView的VC都添加代码,手动判断是否需要显示占位图,非常的麻烦,于是我就给UITableView 写了个categary, 只需要拖入文件到工程(连头文件都不需要导入),就可以完成项目中所有tableView的占位图的批量设置,非常舒服。PSSTableViewNoneData (demo链接点击此处)

用到的技术

  • Runtime 方法交换(hook)
  • Runtime 给categary动态添加属性关联
  • categary的应用

demo图片演示

1.有数据时

2.点击了清空数据时

使用方法:直接拖入工程

提供接口

  • 如果只是用到demo中默认的视图 或者 直接修改自定义的视图,则不需要导入头文件,拖进去就能用,需要修改实现的类名为:PSSNoneDataView
  • 如果需要手动设置自定义视图,或者需要手动设置视图的显现,则需要导入头文件:UITableView+PSSNoneData
  • 以下是提供的接口:
#import <UIKit/UIKit.h>
@class PSSNoneDataView;
typedef enum : NSUInteger {
    PSSNoneDataStyleNone, // 关闭此机制
    PSSNoneDataStyleDefault, // 使用PSS默认的视图 (默认视图)
    PSSNoneDataStyleDIY, // 自定义DIY视图, 如果DIY视图为nil 使用PSS默认视图
} PSSNoneDataStyle;

// 这是默认的style, 默认是使用 PSS默认视图 的
PSSNoneDataStyle PSS_DefaultStyle = PSSNoneDataStyleDefault;

@interface UITableView (PSSNoneData)

@property (nonatomic, assign) PSSNoneDataStyle pss_noneDataStyle;

/*
 * 只在 PSSNoneDataStyleDIY 下生效
 * frame 或者 布局, 需要自己给定
 */
@property (nonatomic, strong) UIView *pss_diyView;

/*
 * 描述: 是否显示 无数据视图
 * 只在 非PSSNoneDataStyleNone并且pss_isManualShow==YES  时生效
 */
@property (nonatomic, assign) BOOL pss_showNoneDataView;
/*
 * 描述: 是否手动显示 无数据视图; 默认为NO
 */
@property (nonatomic, assign) BOOL pss_isManualShow;

// 默认视图, readonly
@property (nonatomic, strong, readonly) PSSNoneDataView *pss_defaultView;

@end

@interface UIScrollView (PSS)

- (void)pss_setContentSize:(CGSize)contentSize;

@end

如果您感兴趣,想要查看.m文件,欢迎下载PSSTableViewNoneData (demo链接点击此处)

如果觉得对您有帮助,就star一下吧。您的star就是对我最大的鼓励!
如果发现什么问题,或者有什么意见,请加我qq或微信:704158807
电子邮箱:[email protected]

Latest podspec

{
    "name": "PSSTableViewNoneData",
    "version": "1.0.2",
    "summary": "A drop-in UITableView superclass category for showing empty datasets whenever the view has no content to display.",
    "description": "It will work automatically, by just conforming to PSSTableViewNoneData, and returning the data you want to show. The -reloadData call will be observed so the empty dataset will be configured whenever needed.",
    "homepage": "https://github.com/Pangshishan/PSSTableViewNoneData",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Pangshishan": "[email protected]"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/Pangshishan/PSSTableViewNoneData.git",
        "tag": "v1.0.2"
    },
    "source_files": "PSSTableViewNoneData/PSSTableViewNoneDataSet/**/*.{h,m}",
    "requires_arc": true,
    "frameworks": "UIKit"
}

Pin It on Pinterest

Share This