1

何度も検索したところ、探しているものが見つからないようです。

UITableviewがあり、最初から一部のセクションが空白になっている可能性があります。これが私が話していることを理解するのに役立つ写真です。フッターとヘッダーの中間にテキスト(テーブルセルではない)を配置したいと思います。見落としていることはありますか?

空のセクション

4

2 に答える 2

2

私が行ったのは、テーブルビューと同じサイズのUILabelを作成し、それをテーブルビューに追加することでした。

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;

于 2012-08-16T23:47:52.443 に答える
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

于 2012-08-16T23:34:07.970 に答える