使用HeaderView和ios6时,自动布局不正确

使用HeaderView和ios6时,自动布局不正确,ios,objective-c,uitableview,autolayout,nstableheaderview,Ios,Objective C,Uitableview,Autolayout,Nstableheaderview,我有一个内有headerview的桌面视图。tableview中没有单元格,只有这个headerview有一些子视图 在ios7上,当我这样做时,一切都会完美工作: - (void)viewDidLoad { //calculate content stuff . . . [self.headerView setNeedsLayout]; [self.headerView layoutIfNeeded]; CGFloat height = [self.headerView systemLa

我有一个内有headerview的桌面视图。tableview中没有单元格,只有这个headerview有一些子视图

在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不够高!可能是什么问题?

尝试更改此行:

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;