空数据列表展示之前有一个第三方库可用(DZNEmptyDataSet),但是公司要求比较特别,所以就自己做一个.
总结一下原理:
1.利用runTime -> Method Swizzling替换方法
2.利用runTime -> objc_setAssociatedObject & objc_getAssociatedObject 关联
3.调用tableView的代理方法,查看数据是否为空,如果为空空数据展示
1.利用runTime ->Method Swizzling替换方法
![](https://img.haomeiwen.com/i3869227/8e982e754df3d0fa.png)
注意:替换之后,调myEndRefreshing就是调endRefreshing,调endRefreshing就是调myEndRefreshing.
2.利用runTime ->objc_setAssociatedObject &objc_getAssociatedObject 关联
这一步主要是为了展示的效果提供设置,比如展示图片、文字、间距等.
![](https://img.haomeiwen.com/i3869227/cd5932cf3ac7a585.png)
![](https://img.haomeiwen.com/i3869227/4789fb4794edfd1a.png)
当展示的效果设置好后,就要展示效果了.
3.调用tableView的代理方法,查看数据是否为空,如果为空空数据展示
![](https://img.haomeiwen.com/i3869227/8ca36d250176f8f1.png)
![](https://img.haomeiwen.com/i3869227/36dae78e4fe363de.png)
当容器有了之后,就可以根据外部给的图片,文字、间距构造出自个需要的空数据列表展示
![](https://img.haomeiwen.com/i3869227/4dde1ace360306ea.png)
网友评论