Поэтому имейте стек с тремя контроллерами представления, где A является корнем, B является сначала модальным контроллером представления, и C является третьим модальным vc. Я хотел бы пойти от C до сразу. Я попробовал это решение отклонить. Это работает, но не корректным способом. Это - когда последний контроллер представления будет отклонен, он кратко покажет второй контроллер представления, прежде чем первое покажут. То, что я ищу, является способом добраться от третьего vc до первого в одной хорошей анимации без того, чтобы замечать второе представление. Любая справка на этом значительно ценится.
Убедитесь, что вы вызываете dismissModalViewControllerAnimated:
только один раз.
Я обнаружил, что запрос на увольнение каждого модального контроллера представления, сложенного в стек, приводит к тому, что оба они анимируются.
У вас есть: A =modal> B =modal> C
Вы должны вызывать только [myViewControllerA dismissModalViewControllerAnimated:YES]
Если вы используете [myViewControllerB dismissModalViewControllerAnimated:YES]
, это приведет к увольнению C, а не B. При обычном (не сложенном) использовании, это приведет к увольнению B (из-за цепочки ответчиков, передающих сообщение A). В сценарии со стеком, который вы описываете, B является родительским контроллером представления, и это имеет приоритет над модальным контроллером представления.
То, что вы хотите использовать, это.
popToRootViewControllerAnimated:
. Он позволяет перейти к корневому контроллеру, не показывая все промежуточные.