我有一个表视图作为子视图(contentView是超级视图)。它的最大约束值为190,但在iPhone 6上始终保持最高值(origin.y为0.0)。但是,在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和其他地方调用该方法无法解决问题)。
这是什么问题?
编辑
当我在cellForRow中禁用[celllayOutIfNeeded](当然我需要)时,问题消失了,所以很奇怪!
-> tableView之后具有功能正常的topConstraint