Я пытаюсь перекрестно растворяться между двумя контроллерами представления с помощью настраиваемого перехода, переход запускается правильно и выполняет анимацию, как задумано, однако в ландшафтном режиме контроллер представления назначения отображается в его портретном макете на время анимации. Как только анимация завершается, конечный контроллер представления «привязывается» к своему ландшафтному макету. Оба контроллера представления настроены с использованием автоматического макета.
Ниже приведен мой собственный метод выполнения segue:
- (void)perform
{
UIViewController *srcController = self.sourceViewController;
UIViewController *dstController = self.destinationViewController;
dstController.view.transform = srcController.view.transform;
[UIView transitionFromView:srcController.view
toView:dstController.view
duration:self.animationDuration
options:self.animationOptions
completion:self.animationCompletionBlock];
}
Нужно ли вручную указывать целевому контроллеру представления, чтобы он запускал автоматическое размещение перед его отображением? И если да, то как это сделать? Использование встроенного перехода с перекрестным растворением, похоже, не вызывает этой проблемы, я попытался (безуспешно) определить, что он делает, а мой пользовательский переход - нет.
Это поставило меня в тупик на какое-то время, любая помощь будет принята с благодарностью, и, пожалуйста, дайте мне знать, если потребуются более подробные сведения.