グループ化されたテーブルのセクションのヘッダーをカスタマイズしようとしています。テーブルの最初のセクションに設定したビューは問題ないように見えますが、後続のセクション ヘッダーは上部と下部がトリミングされているように見えます (このスクリーンショットでは上部のみが表示されています)。
の 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:
メソッドで設定するヘッダーのビューの高さも同様です。
ありがとう!