オープンソースこねこね

Webプログラミングなどについてあれこれ。

UITableViewのPlainスタイルで空のセルを表示させないようにする

iOSアプリを作っていて普通にUITableViewを使っていると、表示するデータをもつセルが1,2行しかないとき、空のセルが画面の残りの部分を埋めてしまいます。

f:id:kohkimakimoto:20141010120109p:plain

この空のセルを表示させたくないときは、以下のようなコードを書けばよいです。

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    
    self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
}

このコードによってUITableViewが(高さ0の)フッターを表示させようとするため、明示的に指定したセル以外は表示させないようになるそうです。

f:id:kohkimakimoto:20141010120312p:plain

参考にした記事(いつもお世話になっておりますstackoverflow)

ios - How to remove empty cells in UITableView? - Stack Overflow