内部にヘッダービューを含むテーブルビューがあります。テーブルビューにはセルがなく、いくつかのサブビューを持つこの 1 つのヘッダービューだけです!
iOS7では、次のようにするとすべてが完璧に機能します:
- (void)viewDidLoad {
//calculate content stuff
.
.
.
[self.headerView setNeedsLayout];
[self.headerView layoutIfNeeded];
CGFloat height = [self.headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height + self.headerView.frame.origin.y;
CGRect headerFrame = self.headerView.frame;
headerFrame.size.height = height;
self.headerView.frame = headerFrame;
[self.tableView setTableHeaderView:self.headerView];
}
iOS6 では、headerView の高さが常に間違っており、HeaderView の高さが十分ではありません! 問題は何ですか?