页面有数据时正常显示,没有数据时提示“此页面暂时没有相关数据”
刚开始尝试过隐藏表,但是进入页面的时候时可以下拉刷新数据的,也许刷新后就会出来相关数据,发现隐藏表是有问题的,尝试了几种方法之后,看了一个开源项目中的一个方法比较好,就做了修改之后发现用着挺好的。
请求完数据之后,刷新表的时候调用
[self reload];就可以啦
@property(nonatomic,strong)UILabel * emptyTipLabel;
- (void)viewDidLoad {
//表的代码省略
self.emptyTipLabel = [[UILabel alloc] init];
self.emptyTipLabel.text = @"暂没有数据!";
self.emptyTipLabel.textColor=rgb(0x66, 0x66, 0x66);
self.emptyTipLabel.font=[UIFont systemFontOfSize:15];
self.emptyTipLabel.hidden = YES;
self.emptyTipLabel.numberOfLines=2;
self.emptyTipLabel.textAlignment=NSTextAlignmentCenter;
[self.view addSubview:self.emptyTipLabel];
}
#pragma mark layout
- (void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
[self refreshSubview];
}
- (void)refreshSubview{
UIView * superView=self.view;
[self.emptyTipLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(superView);
make.centerY.equalTo(superView).offset(-23);
make.left.equalTo(superView).offset(10);
make.right.equalTo(superView).offset(-10);
}];
}
- (void)reload{
[self.tableView reloadData];
self.emptyTipLabel.hidden = self.dataMArr.count;
}