0

内部にヘッダービューを含むテーブルビューがあります。テーブルビューにはセルがなく、いくつかのサブビューを持つこの 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 の高さが十分ではありません! 問題は何ですか?

4

1 に答える 1

0

この行を変更してみてください:

CGFloat height = [self.headerView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height + self.headerView.frame.origin.y;

と:

CGFloat height = [self.headerView.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height + self.headerView.frame.origin.y;
于 2014-04-10T15:50:19.513 に答える