У меня есть контроллер таблеток в качестве главного экрана в моем приложении. На некоторых вкладках встроен контроллер навигации.Tab + NavigationController flow
Это моя проблема: Первая вкладка является начальной, когда приложение запускается. При определенных условиях пользователь должен увидеть второй экран B (в стеке навигации) сразу после запуска приложения (есть функция выполнения, которая запускается в viewWillAppear первого экрана). Это работает так, как должно. Пользователь запускает приложение и сразу видит второй экран. Это также работает, когда пользователь переключается на разные вкладки и обратно. Проблема в том, что пользователь уже находится на первой вкладке и снова нажимает на него. Затем стек уничтожается, пользователи видят первый экран A, который будет анимировать второй экран B в коротком порядке. Этот переход хорошо просматривается пользователем.
First tab --> screen A --> screen B --> ...
|
Second tab --> screen T --> screen U --> ...
|
...
Вопрос в том, как предотвратить такое поведение? В этом случае пользователь не должен видеть переход между A и B.
Благодаря
Хм, это не кажется очень последовательным поведением uitabbarcontroller, так как он будет только вызывать контроллер на втором касании. В любом случае, определенное условие изменится снова, поэтому я бы вернул его в качестве корневого контроллера. – Tom
Это просто способ позволить пользователям перейти прямо к корневому VC, и, конечно, я считаю это полезным. В любом случае, вы можете сохранить ссылку на удаленный контроллер представления в вашем uitabbarcontroller, чтобы вернуть его, когда хотите. – sonxurxo
Вы правы. В конце концов это было решение, которое я использовал. Когда условие меняет, я ставлю A обратно корнем, и он действительно работает довольно хорошо ... Спасибо – Tom