何度も検索したところ、探しているものが見つからないようです。
UITableviewがあり、最初から一部のセクションが空白になっている可能性があります。これが私が話していることを理解するのに役立つ写真です。フッターとヘッダーの中間にテキスト(テーブルセルではない)を配置したいと思います。見落としていることはありますか?
何度も検索したところ、探しているものが見つからないようです。
UITableviewがあり、最初から一部のセクションが空白になっている可能性があります。これが私が話していることを理解するのに役立つ写真です。フッターとヘッダーの中間にテキスト(テーブルセルではない)を配置したいと思います。見落としていることはありますか?
私が行ったのは、テーブルビューと同じサイズの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;
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