1. ホーム
  2. ios

[解決済み] UITableViewCellsが空の場合、セパレータ行を削除するのを隠す [重複]。

2023-05-03 04:31:29

質問

を持つ UITableView があり、その中に3つの行があるだけで、その3つの行を見ることができます。問題は、空のセルです。そこに線が見えるのです。私はそれらの行を見たくありません。

これらの行を削除する方法について何か考えがありますか?

以下は、私が探しているものの画像です。

どのように解決するのですか?

を隠すことができます。 UITableView の標準のセパレータ行を隠すことができます。 カスタムセパレータを追加する最も簡単な方法は、単純な UIView を追加することです。

UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];
separatorLineView.backgroundColor = [UIColor clearColor]; // set color as you want.
[cell.contentView addSubview:separatorLineView];

または

    self.tblView=[[UITableView alloc] initWithFrame:CGRectMake(0,0,320,370) style:UITableViewStylePlain];
    self.tblView.delegate=self;
    self.tblView.dataSource=self;
    [self.view addSubview:self.tblView];

    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 10)];
    v.backgroundColor = [UIColor clearColor];
    [self.tblView setTableHeaderView:v];
    [self.tblView setTableFooterView:v];
    [v release];

または

- (float)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    // This will create a "invisible" footer
    return 0.01f;
}

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    // To "clear" the footer view
    return [[UIView new] autorelease];
}

または

また nickfalk の回答 も見てみてください。とても短く、参考になります。 そして、この一行も試してみてください。

self.tableView.tableFooterView = [[UIView alloc] init];

よくわかりませんが、iOS 5以降、iOS 7まで、確認したすべてのバージョンのiOSで動作しています。