UINavigationController: Как я удаляю представление стека

Позвольте говорят, вот мое расположение стека

View3     --> Top of the stack
View2
View1
HomeView  --> Bottom of the stack

Таким образом, я нахожусь в View3 теперь, если я нажимаю Home кнопка, я хочу загрузиться HomeView, подразумевать, что я должен появиться View3, View2, и View1. Но если я появляюсь View3, View2 будет отображен. Я не хочу это. Я хочу View3, View2, и View1 будьте удалены, и HomeView будет отображен. Какая-либо идея, как?

8
задан Thang Pham 7 April 2010 в 18:50
поделиться

3 ответа

Вы можете использовать popToRootViewControllerAnimated: для доступа к корневому контроллеру представления. Это приведет к появлению всех контроллеров представления в стеке, кроме контроллера корневого представления. В вашем случае это будет HomeView .

[self popToRootViewControllerAnimated:YES];


Чтобы перейти к определенному представлению в стеке, вы можете использовать popToViewController: animated: Предполагая, что вы хотите открыть третий контроллер представления (снизу вверх). В вашем случае это будет view2 :

NSArray* viewControllersInStack = self.navigationController.viewControllers;
UIViewController* targetViewController = [viewControllersInStack objectAtIndex:2];
[self.navigationController popToViewController:targetViewController animated:YES];
16
ответ дан 5 December 2019 в 09:24
поделиться

использовать ...

[self.navigationController popToRootViewControllerAnimated: ДА];

0
ответ дан 5 December 2019 в 09:24
поделиться

Используйте popToViewController

[self.navigationController popToViewController:homeView animated:YES];
2
ответ дан 5 December 2019 в 09:24
поделиться
Другие вопросы по тегам:

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