Я могу появиться к Определенному ViewController?

local text = "         
48
задан Sushil Sharma 27 April 2018 в 02:55
поделиться

3 ответа

Написав первую строку, вы получите индексы всех контроллеров представления, а со второй строки вы достигнете своего пункта назначения.

NSArray *array = [self.navigationController viewControllers];

[self.navigationController popToViewController:[array objectAtIndex:2] animated:YES];
93
ответ дан 7 November 2019 в 12:01
поделиться

у меня есть ответ здесь. Это - 100%, работающих код на Swift> 4. X

, Как я могу вытолкать определенный Контроллер Представления в Swift

0
ответ дан 7 November 2019 в 12:01
поделиться

Ваш код создает новый экземпляр представления, которое никогда не помещалось в стек, а затем пытается вернуться к этому контроллеру.

Если вы возвращаетесь к корневому контроллеру представления, вы можете использовать popToRootViewControllerAnimated:

Если вы возвращаетесь на известное расстояние, вы можете вызвать popViewControllerAnimated: более одного раза. В вашем примере это будет 2 контроллера для вызовов. Вы можете сделать то же самое, посмотрев в viewControllers контроллер 2 с конца и перейдя к нему.

Приведенные выше предложения представляют собой быстрые исправления. Один из лучших практических сценариев - передать контроллер, к которому вы хотите вернуться, каждому последующему контроллеру, который вы нажимаете. Первый передает себя второму, второй передает эту ссылку третьему, третье попадает в переданную ссылку, которая является первой.

По сути, вы создаете временный корневой контроллер. Вы можете создать подкласс UINavigationController и добавить свойство poraryRoot и метод popToTemporaryRootViewControllerAnimated: , который появится во временном корне и очистит его. При первом нажатии секунд он также устанавливает себя в качестве временного корня, так что каждому контроллеру в стеке не нужно передавать ссылку. Вам придется добавить несколько дополнительных проверок, чтобы не быть уверенным, что вы никогда не пройдете мимо временного рута, не очистив его.

1
ответ дан 7 November 2019 в 12:01
поделиться
Другие вопросы по тегам:

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