经过大量搜索,我似乎无法找到我想要的东西。
我有一个 UITableview,其中某些部分可能一开始是空白的。这是一张图片,可以帮助您了解我在说什么。我想在页脚和页眉之间的中间有一些文本(不是表格单元格)。有什么我可能忽略的吗?
经过大量搜索,我似乎无法找到我想要的东西。
我有一个 UITableview,其中某些部分可能一开始是空白的。这是一张图片,可以帮助您了解我在说什么。我想在页脚和页眉之间的中间有一些文本(不是表格单元格)。有什么我可能忽略的吗?
我所做的是创建一个与 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];
然后您可以使用 hidden 属性来显示或隐藏它,例如emptyLabel.hidden = TRUE;
由于 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
您的表!