iOS5の場合
UITableViewControllerを静的セルに設定しています。必要なのは3行だけで、各行のコンテンツで埋められます。そこで、3つのUITableViewCellを配置しました。すべて正常に動作しますが、アプリを実行すると、常に3行以上が表示されます。残りの行は空の行です。表示しようとした3行だけを表示するにはどうすればよいですか。
グループ化されたスタイルを使用して、外観をカスタマイズする必要がありますか?
iOS5の場合
UITableViewControllerを静的セルに設定しています。必要なのは3行だけで、各行のコンテンツで埋められます。そこで、3つのUITableViewCellを配置しました。すべて正常に動作しますが、アプリを実行すると、常に3行以上が表示されます。残りの行は空の行です。表示しようとした3行だけを表示するにはどうすればよいですか。
グループ化されたスタイルを使用して、外観をカスタマイズする必要がありますか?
footerViewを空のビューに設定します。
self.tableView.tableFooterView = [UIView new].
これは動的セルで機能します。静的セルでも機能するはずです。
UITableViewControllerに次の2つのメソッドを実装します。
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
if (section == tableView.numberOfSections - 1) {
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)];
}
return nil;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
if (section == tableView.numberOfSections - 1) {
return 1;
}
return 0;
}
実際、これらのコードは、空のセルが表示されないように見えるように、区切り線をレンダリングする必要がないことをtableviewに伝えています(実際、空のセルも選択できません)。