1. ホーム
  2. ios

[解決済み] UITableViewの下にある余分なセパレータをなくす

2022-03-21 17:31:21

質問

4行のテーブルビューを設定しても、塗りつぶされた行の下に余分な区切り線(または余分な空白セル)が残ってしまいます。

これらのセルを削除するにはどうしたらよいですか?

解決方法は?

インターフェースビルダー (iOS 9+)

UIViewをテーブルにドラッグするだけです。 ストーリーボードでは、カスタムセルの下の一番上に表示されます。 フッターと名付けることもできます。

ここではわかりやすくするために緑色で表示していますが、おそらく透明な色が必要でしょう。

高さを調整することで、テーブルの "底面のバウンド" をどのように処理するかに影響を与えることができることに注意してください。(高さゼロは通常問題ありません)。


プログラム的に行うには

スウィフト

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.tableFooterView = UIView()
}

オブジェクティブC

iOS 6.1以上

- (void)viewDidLoad 
{
    [super viewDidLoad];

    // This will remove extra separators from tableview
    self.tableView.tableFooterView = [UIView new];
}

または、お好みで

    self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

歴史的にはiOSで。

テーブルビューコントローラーに追加...

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

そして必要に応じて...

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{        
    return [UIView new];

    // If you are not using ARC:
    // return [[UIView new] autorelease];
}