UITableView - 特定のセクションヘッダの高さを0にする

2010年8月15日日曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

UITableViewDelegate にはセクションヘッダと降ったの高さを変えるためのメソッドが用意されている。

UITableViewDelegate Protocol Reference
– tableView:heightForHeaderInSection:
– tableView:heightForFooterInSection:

特定のセクションの場合 0 を返せば、そのセクションヘッダ/降ったの高さが 0になる...ハズなのだが試したところそうならなかった。動きとしてはこのメソッドで 0を返すと標準の高さになってしまう。試しに 0.1 を返しても駄目だった。

そこでセクションに大きさ0のカスタムビューを設定して、なおかつ高さを 0.1としてみた。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
 if (section == 0) {
  return zeroSizeView_;  // zeroSizeView_ = [[UIView alloc] initWithFrame:CGRectZero];
 } else {
  return nil;
 }
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
 if (section == 0) {
  return 0.1;
 } else {
  return tableView.sectionHeaderHeight;
 }
}

すると指定セクションのヘッダの高さが0となった。

それだけ。

Responses

Leave a Response

人気の投稿(過去 30日間)