web-dev-qa-db-ja.com

グループ化されていないテーブルのUITableViewセクションヘッダーの高さ

ご挨拶! ITableViewsectionHeaderHeightはグループ化されたテーブルにのみ使用されることは知っていますが、とにかく質問します(これを行う方法が明らかでない場合に備えて)...

[〜#〜] non [〜#〜]-grouped tableのセクションヘッダーの高さ(およびそれとともにフォント/サイズ)を変更する方法はありますか?

「はい」または少なくとも「たぶん」を望んでいます...しかし、それを恐れることは「いいえ」かもしれません。皆さん、どうぞよろしくお願いします。

21
Joe D'Andrea

はい。

このデリゲートメソッドを使用します。

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 44;
}

もちろん、必要に応じて変更してください。もちろん、フッター用のものもあります。

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return 44;
}
49

少なくともiOS9(テスト済み)以降ITableView.sectionHeaderHeightはプレーンテーブルビュー(グループ化されていない)でも機能しています!

デフォルトのヘッダーの高さ(通常は22.0)を取得します。

もちろん、テーブルビューデリゲートは、tableView:heightForHeaderInSection:メソッドでこのデフォルト値をカスタマイズしている可能性があります。

次のコードスニペットは、定義されたセクションヘッダーの高さを示しています。

CGFloat headerHeight = self.tableView.sectionHeaderHeight;
if ([self.tableView.delegate respondsToSelector:@selector(tableView:heightForHeaderInSection:)]) {
    // possibly custom header height
    headerHeight = [self.tableView.delegate tableView:self.tableView heightForHeaderInSection:indexPathForCell.section];
}
1
LaborEtArs