我实施了以下内容:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{ return 75; }
只有在收到json序列化数据时,才会正确显示高度。当它没有数据时,它会将高度显示为默认高度。什么是重写这种方法?
答案 0 :(得分:1)
如果您希望每一行都具有相同的高度,请不要使用tableView:heightForRowAtIndexPath:
方法。
相反,请在viewDidLoad
:
self.tableView.rowHeight = 75;
这适用于所有行,而不仅仅是带有数据的行。
答案 1 :(得分:0)
仅当numberOfRowsInSection返回值>时,才调用heightForRowAtIndexPath方法。在这种情况下,您看到的是默认的空表视图。
我认为在没有数据的情况下,你应该在viewDidLoad中用这行代码隐藏所有默认的空行:
tableView.tableFooterView = [UIView new];
显示并清空图像标签,让用户知道没有返回数据。例如:
- (void) requestData {
// Your request data code
// When request data complete, check and show that label
self.labelNoData.hidden = (arrayData.count == 0);
}