У меня есть 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
вызывает вызов только тогда, когда значение больше, чем раньше?