У меня есть вид контейнера, который имеет один подзаголовок. Я хочу заменить этот subview другим видом, который отличается от оригинала, поэтому размер контейнера также должен быть изменен. Вот что я пытаюсь сделать.Заменить subview другим, оживляя изменение размера
UIView *content = NEW_CONTENT;
content.translatesAutoresizingMaskIntoConstraints = NO;
[self.contentContainer layoutIfNeeded]; // the container view
// make the old content disappear first
[UIView animateWithDuration:0.3
animations:^{
UIView *oldContent = [self.contentContainer.subviews firstObject];
oldContent.alpha = 0.0f;
}
completion:^(BOOL finished) {
// then replace it with a new content
[UIView transitionWithView:self.contentContainer
duration:0.1
options:0
animations:^{
[[self.contentContainer.subviews firstObject] removeFromSuperview];
[self.contentContainer addSubview:content];
[content autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero];
[self.contentContainer layoutIfNeeded];
}
completion:^(BOOL finished) { // completion stuff}];
}];
Старая непрозрачность содержимого анимируется должным образом, но макет изменяется без какой-либо анимации. Как я могу это исправить?