经过大量的搜索,我似乎无法找到我正在寻找的东西。
我有一个UITableview,其中一些部分可能是空白的。这是一张图片,帮助我了解我在说什么。我想在页脚和标题之间的中间有一些 TEXT (不是表格单元格)。有什么我可能忽略的吗?
答案 0 :(得分:2)
我所做的是创建一个与tableview相同大小的UILabel并将其添加到tableview,如:
UILabel* emptyLabel = [[UILabel alloc] init];
emptyLabel.textAlignment = UITextAlignmentCenter;
emptyLabel.backgroundColor = [UIColor clearColor];
emptyLabel.frame = self.tableView.bounds;
emptyLabel.text = @"Empty";
[self.tableView addSubview:emptyLabel];
然后,您可以使用隐藏属性来显示或隐藏它,例如emptyLabel.hidden = TRUE;
答案 1 :(得分:1)
由于UITableViews的性质,我不确定您是否可以用其他东西替换UITableCell视图。但是没有理由你不能完全改变表格单元本身看起来像普通的UITextLabel而不是单元格!你可以这样做:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
/* Initial setup here... */
if (thisCellHasNoDataYet) {
// Prevent highlight on tap
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
cell.backgroundColor = [UIColor clearColor];
cell.textLabel.textColor = [UIColor blackColor];
cell.textLabel.text = @"TEXT YOU WANT THE 'CELL' TO DISPLAY";
// etc...
}
else {
// Otherwise we have data to display, set normal cell mode
[cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
cell.backgroundColor = [UIColor whiteColor];
// etc...
}
这样做的好处是,一旦满足您的条件,您只需将布尔值(我使用thisCellHasNoDataYet
)设置为TRUE
并在您的桌子上调用reloadData
!