空的uitableview部分的占位符

时间:2012-08-16 23:24:28

标签: ios uitableview

经过大量的搜索,我似乎无法找到我正在寻找的东西。

我有一个UITableview,其中一些部分可能是空白的。这是一张图片,帮助我了解我在说什么。我想在页脚和标题之间的中间有一些 TEXT (不是表格单元格)。有什么我可能忽略的吗?

empty section

2 个答案:

答案 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