Autolayout работает некорректно с HeaderView и ios6
У меня есть таблица с заголовком внутри. Там нет ячейки в табличном представлении, только это один заголовок, который имеет некоторые подпредставления!
На 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 недостаточно высок! В чем может быть проблема?
1 ответ
Попробуйте изменить эту строку:
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;