DZNEmptyDataSet使用(UItabelView 数据为空时 显示图)
2016-06-27 14:18
525 查看
感谢万能的github 下载地址:DZNEmptyDataSet https://github.com/dzenbot/DZNEmptyDataSet 上效果 首先在你的ViewController里面导入 #import "UIScrollView+EmptyDataSet.h" 遵守 <DZNEmptyDataSetSource, DZNEmptyDataSetDelegate> 协议 `@interface MainViewController : UITableViewController <DZNEmptyDataSetSource, DZNEmptyDataSetDelegate> (void)viewDidLoad { [super viewDidLoad]; self.tableView.emptyDataSetSource = self; self.tableView.emptyDataSetDelegate = self; // A little trick for removing the cell separators self.tableView.tableFooterView = [UIView new]; }
返回单张图片
Data Source 实现方法 - (UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView { return [UIImage imageNamed:@"empty_placeholder"]; }
返回标题文字
- (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView { NSString *text = @"Please Allow Photo Access"; NSDictionary *attributes = @{NSFontAttributeName: [UIFont boldSystemFontOfSize:18.0f], NSForegroundColorAttributeName: [UIColor darkGrayColor]}; return [[NSAttributedString alloc] initWithString:text attributes:attributes]; }
返回文字详情
- (NSAttributedString *)descriptionForEmptyDataSet:(UIScrollView *)scrollView{ NSString *text = @"This allows you to share photos from your library and save photos to your camera roll."; NSMutableParagraphStyle *paragraph = [NSMutableParagraphStyle new]; paragraph.lineBreakMode = NSLineBreakByWordWrapping; paragraph.alignment = NSTextAlignmentCenter; NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:14.0f], NSForegroundColorAttributeName: [UIColor lightGrayColor], NSParagraphStyleAttributeName: paragraph}; return [[NSAttributedString alloc] initWithString:text attributes:attributes]; }
返回可以点击的按钮 上面带文字
- (NSAttributedString *)buttonTitleForEmptyDataSet:(UIScrollView *)scrollView forState:(UIControlState)state{ NSDictionary *attributes = @{NSFontAttributeName: [UIFont boldSystemFontOfSize:17.0f]}; return [[NSAttributedString alloc] initWithString:@"Continue" attributes:attributes];}
返回可以点击的按钮 上面带图片
- (UIImage *)buttonImageForEmptyDataSet:(UIScrollView *)scrollView forState:(UIControlState)state{ return [UIImage imageNamed:@"button_image"];}
返回空白区域的颜色 自定义
- (UIColor *)backgroundColorForEmptyDataSet:(UIScrollView *)scrollView{ return [UIColor whiteColor];}
返回一个自定义的View
(UIView )customViewForEmptyDataSet:(UIScrollView )scrollView{ UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; [activityView startAnimating]; return activityView;}
此外,您还可以调整垂直对齐的内容视图(即:有用tableHeaderView时可见):
- (CGFloat)verticalOffsetForEmptyDataSet:(UIScrollView *)scrollView{ return -self.tableView.tableHeaderView.frame.size.height/2.0f;
返回间距离
(CGFloat)verticalOffsetForEmptyDataSet:(UIScrollView *)scrollView{ return -self.tableView.tableHeaderView.frame.size.height/2.0f;}
委托实现
要求知道空的状态应该渲染和显示 (Default is YES) :
- (BOOL)emptyDataSetShouldDisplay:(UIScrollView *)scrollView{ return YES;}
是否允许点击 (默认是 YES) :
- (BOOL)emptyDataSetShouldAllowTouch:(UIScrollView *)scrollView{ return YES;}
是否允许滚动 (默认是 NO) :
- (BOOL)emptyDataSetShouldAllowScroll:(UIScrollView *)scrollView{ return YES;}
空白区域点击响应:
- (void)emptyDataSetDidTapView:(UIScrollView *)scrollView{ // Do something}
点击button 响应
- (void)emptyDataSetDidTapButton:(UIScrollView *)scrollView{ // Do something}
刷新当前表格
[self.tableView reloadData];
或者
[self.collectionView reloadData];
_会飞的鱼(简书作者)
原文链接:http://www.jianshu.com/p/d30a143a17e1
相关文章推荐
- MCU51单片机uIP协议栈+ENC28J60网卡 移植、应用
- LeetCode 357 Count Numbers with Unique Digits
- LeetCode 347. Top K Frequent Elements
- hibernate no key for value
- UILabel文字大小自适应之--SizeToFit
- UITableView的style的区别与用法,以及分割线的显示与隐藏
- UITabBarButton 修改label上的名称
- UEditor的简单使用
- 安卓日记——RecyclerView进阶(下拉上拉刷新和万能Adapter)
- 超过1个G免费资源,16套质量超高风格多样的移动UIKIT
- 超过1个G免费资源,16套质量超高风格多样的移动UIKIT
- Call requires API level 11 (current min is 10): android.content.ContentResol 解决方法
- easyui导出Excel、Word java
- IOS UIView 02- 深入理解 Scroll Views
- easyui动态加载表格标题
- Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 10
- easyui 删除数据表格
- easyui datagrid表头字体加粗
- 微信接口 output {"errMsg":"translateVoice:fail, the permission value is offline verifying"}
- 选中下拉框的位置变化