UIContentContainer仅调整为比之前设置的值更大的值

时间:2016-05-30 12:48:23

标签: ios uikit

我有一个UIContentContainer,可以在运行时更改其子视图控制器。 ContentContainer视图控制器响应:

- (void)preferredContentSizeDidChangeForChildContentContainer:(id<UIContentContainer>)container
{
    [super preferredContentSizeDidChangeForChildContentContainer:container];
     self.contentContainerHeightContstraint.constant = container.preferredContentSize.height;

    [UIView animateWithDuration:0.25
                     animations:^{
                         [self.view layoutIfNeeded];
                 }];
}

因此,当我将childViewController中的preferredContentSize设置为比容器正确调整大小之前更大的大小时,但是当我采用较小的值时,没有任何反应。

我尝试使用内容压缩和拥抱优先级。到目前为止没有运气。

那么为什么preferredContentSizeDidChangeForChildContentContainer方法只在值大于之前被调用?

1 个答案:

答案 0 :(得分:0)

我发现了问题。我在UINavigationController内,我不得不拨打self.parentViewController.preferredContentSize。现在正在适当调整大小。