苹果Airpods pro耳机怎么改名字,苹果Airodro耳机怎么改名字?下面请看小编的详细介绍吧!......
iOS如何无嵌入设置空数据显示
大部分第三方库都是嵌入形式,会污染本身逻辑导致维护困难,而无嵌入式的实现可以在不影响代码本身逻辑的基础上实现需要的功能。
工具/原料
- Mac
- Xcode
方法/步骤
使用UIScrollView EmptyDataSet实现列表的空数据展示,将UIScrollView EmptyDataSet下载之后将整个文件夹拖入到工程里面,文件夹下只有.h与.m两个文件,结构如下:
在需要的控制器界面声明一个tableview的属性,同时遵循
UITableView的代理方法,在这里同时也遵循DZNEmptyDataSetSource与DZNEmptyDataSetDelegate代理方法。
在viewDidLoad下初始化UITableView添加到视图上,同时设置代理:
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.emptyDataSetSource = self;
self.tableView.emptyDataSetDelegate = self;
实现UITableView的UITableViewDataSource下的两个方法,分别设置列表行数以及对应的Cell:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.backgroundColor = [UIColor colorWithRed:(random()%6)/255.0 green:(random()%6)/255.0 blue:(random()%6)/255.0 alpha:1.0];
return cell;
}
实现DZNEmptyDataSetSource下的- (nullable NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView代理方法可以设置空数据显示时的提示文字:
- (nullable NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView{
return [[NSAttributedString alloc] initWithString:@"暂无数据" attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:15]}];
}
实现DZNEmptyDataSetSource下的- (nullable UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView代理方法可以设置空数据显示时的提示图片:
- (nullable UIImage *)imageForEmptyDataSet:(UIScrollView *)scrollView{
return [UIImage imageNamed:@"icon_nodata"];
}
实现DZNEmptyDataSetSource下的- (nullable UIColor *)backgroundColorForEmptyDataSet:(UIScrollView *)scrollView代理方法可以设置空数据显示时的界面背景颜色:
- (nullable UIColor *)backgroundColorForEmptyDataSet:(UIScrollView *)scrollView{
return [UIColor colorWithRed:237/255.0 green:237/255.0 blue:237/255.0 alpha:1.0];
}
为了查看效果,先将列表的行数设置为10,列表颜色设置为随机色,效果显示如下:
将列表的行数设置为0,空数据界面显示效果如下:
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章