Отклонение нескольких модальных контроллеров представления сразу?

Поэтому имейте стек с тремя контроллерами представления, где A является корнем, B является сначала модальным контроллером представления, и C является третьим модальным vc. Я хотел бы пойти от C до сразу. Я попробовал это решение отклонить. Это работает, но не корректным способом. Это - когда последний контроллер представления будет отклонен, он кратко покажет второй контроллер представления, прежде чем первое покажут. То, что я ищу, является способом добраться от третьего vc до первого в одной хорошей анимации без того, чтобы замечать второе представление. Любая справка на этом значительно ценится.

21
задан Community 23 May 2017 в 11:54
поделиться

2 ответа

Убедитесь, что вы вызываете dismissModalViewControllerAnimated: только один раз.

Я обнаружил, что запрос на увольнение каждого модального контроллера представления, сложенного в стек, приводит к тому, что оба они анимируются.

У вас есть: A =modal> B =modal> C

Вы должны вызывать только [myViewControllerA dismissModalViewControllerAnimated:YES]

Если вы используете [myViewControllerB dismissModalViewControllerAnimated:YES], это приведет к увольнению C, а не B. При обычном (не сложенном) использовании, это приведет к увольнению B (из-за цепочки ответчиков, передающих сообщение A). В сценарии со стеком, который вы описываете, B является родительским контроллером представления, и это имеет приоритет над модальным контроллером представления.

22
ответ дан 29 November 2019 в 21:47
поделиться

То, что вы хотите использовать, это. popToRootViewControllerAnimated:. Он позволяет перейти к корневому контроллеру, не показывая все промежуточные.

-6
ответ дан 29 November 2019 в 21:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: