Вы можете просто представить второй контроллер представления модели поверх первого, используя переход по умолчанию. Похоже, ваше второе представление модели выделяется и инициализируется в том же контроллере представления, что и ваше первое представление модели. В этом случае рассмотрите возможность рефакторинга кода, чтобы первый контроллер представления модели представлял второй контроллер модального представления. При этом одно будет отображаться поверх другого, как вы хотите.
Если вам нужно сохранить код для представления обоих контроллеров модального представления в одном контроллере корневого представления, вы можете создать метод делегата. Это отправит сообщение от первого контроллера модального представления обратно корневому контроллеру представления, который его представил, передав ссылку на первый контроллер модального представления. Затем используйте эту ссылку, чтобы сообщить первому контроллеру модального представления о необходимости представить второй контроллер модального представления поверх него.
Я определенно рекомендую первое решение, так как оно логически более ясное и с меньшими шансами ввести цикл сохранения.
В ответ на ваше разъяснение:
Чтобы переключиться между двумя, попробуйте:
В вашем экземпляре ModalViewControllerOne
, который уже отображается из предыдущего сеанса:
self.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self dismissModalViewControllerAnimated:YES];
В -viewDidAppear:
rootViewController
ModalViewControllerTwo *modalViewControllerTwo = [[ModalViewControllerTwo alloc] init];
modalViewControllerTwo.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[rootViewController presentModalViewController:modalViewControllerTwo animated:YES];
Идея этого состоит в том, чтобы перекрестно растворить первый контроллер модального представления обратно в корневой контроллер представления, а затем немедленно перекрестно растворить новый контроллер модального представления обратно на экран.
Если это просто представление, которое отличается между экранами-заставками, вы могли бы вместо двух контроллеров представления иметь один контроллер представления с логикой, которая просто меняет одно представление на другое в зависимости от введенного URL-адреса и использует анимацию при переключении между взгляды.
person
Andrew
schedule
04.11.2011