我有一个tableview
,有时可能没有任何结果要列出,因此如果没有结果(无论是标签还是一个table视图单元),我想放置一些内容来显示"无结果"。
有没有更简单的方法?
我会尝试在tableview
后面放一个label
,然后根据结果隐藏其中之一,但由于我正在使用PFQueryTableViewController
而不是普通的ViewController
,所以不确定这是否明智或可行。
我还使用Parse
和子类化为PFQueryTableViewController
:
@interface TableViewController : PFQueryTableViewController
我可以提供任何需要的额外细节,请让我知道!
Storyboard
中的 TableViewController
场景:
编辑: 根据 Midhun MP 的建议,这是我正在使用的代码
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
NSInteger numOfSections = 0;
if ([self.stringArray count] > 0)
{
self.tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
numOfSections = 1;
//yourTableView.backgroundView = nil;
self.tableView.backgroundView = nil;
}
else
{
UILabel *noDataLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, self.tableView.bounds.size.height)];
noDataLabel.text = @"No data available";
noDataLabel.textColor = [UIColor blackColor];
noDataLabel.textAlignment = NSTextAlignmentCenter;
//yourTableView.backgroundView = noDataLabel;
//yourTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
self.tableView.backgroundView = noDataLabel;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
}
return numOfSections;
}
这是我得到的视图,它仍然有分隔线。我觉得这可能是一些小改变,但我不确定为什么会出现分隔线?
numberOfSections
应该返回计数,就只是这样。numberOfRowsInSection
也是一样的。这些方法可以在任何时间被多次调用。除了返回计数以外,不要更新视图或数据,也不要进行其他操作。更新视图的逻辑绝不应该在这些方法中。 - rmaddy