У меня есть представление таблицы в качестве подпредставления (contentView - это superview).Он имеет ограничение сверху со значением 190, но он продолжает придерживаться вершины (origin.y равен 0.0) на моем iPhone 6. Однако на моем iPhone X он работает совершенно нормально.
- (void)adjustHeightOfViews {
//adjust contentview-height to tableview-height
self.tableViewTopConstraint.active = YES;
self.tableViewTopConstraint.constant = 190;
self.tableViewHeightConstraint.constant = 0.0f;
for (int i = 0; i < [_cellTitles count]; i ++) {
self.tableViewHeightConstraint.constant += [self.tableView rectForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:0]].size.height;
}
self.contentViewHeightConstraint.constant = self.tableViewHeightConstraint.constant + 500.0f;
self.tableViewTopConstraint.constant = 190;
}
Viewheights установлены в моем методе AdjustHeightOfViews, который я вызываю в viewDidLayoutSubviews (я пробовал здесь вызывать метод в viewDidAppear и везде, не решает проблему).
В чем здесь проблема?
РЕДАКТИРОВАТЬ
Проблема исчезает, когда я отключаю [cell layOutIfNeeded] в моем cellForRow (который мне нужен, конечно), так странно!
-> после этого tableView имеет функционирующую topConstraint