2016-05-30 1 views
0

У меня есть UIContentContainer, который меняет свои дочерние контроллеры представления во время выполнения. Вид контроллер ContentContainer реагирует на:UIContentContainer изменяет размеры только до больших значений, чем установлено до

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

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

Так что, когда я поставил preferredContentSize в моем childViewController в большем размере, чем до размера контейнера правильно, но когда я беру меньшую величину, ничего не происходит.

Я попытался поиграть с сжатием содержимого и приоритетом обнимания. Пока не повезло.

Так почему же метод preferredContentSizeDidChangeForChildContentContainer вызывает вызов только тогда, когда значение больше, чем раньше?

ответ

0

Я нашел проблему. Я был внутри UINavigationController, и мне пришлось позвонить self.parentViewController.preferredContentSize. Теперь он правильно изменяется.

Смежные вопросы