0

グループ化されたテーブルのセクションのヘッダーをカスタマイズしようとしています。テーブルの最初のセクションに設定したビューは問題ないように見えますが、後続のセクション ヘッダーは上部と下部がトリミングされているように見えます (このスクリーンショットでは上部のみが表示されています)。

iPhone_groupedTable_header

の X と Y の値を変えてみましたがframe.size.origin、見た目は変わりません。これは私のコードです:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
   if (section == 1) {
          UIView *wrapper = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 70)];
          [wrapper setBackgroundColor:[UIColor clearColor]];

          UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 20, self.tableView.frame.size.width, 20)];
          label.text = NSLocalizedString(@"Section 2 Header", @"");
          [label setFont:[UIFont boldSystemFontOfSize:15]];
          [label setBackgroundColor:[UIColor clearColor]];

          [wrapper addSubview:label];

          return wrapper;
   }

   else
          return nil;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
   if (section == 1)
          return 70;
   else
          return 0;
}

すべてのセクション ヘッダーに対して同じことを行い、最初のヘッダーのみが正しく表示されます。何が間違っているのでしょうか? この問題に関してUILabel、テキストとフォント サイズが分かれば遺言書の高さを動的に知ることは可能ですか、それともフレーム サイズを常に「推測で」設定する必要がありますか? heightForHeaderInSection:メソッドで設定するヘッダーのビューの高さも同様です。

ありがとう!

4

1 に答える 1