Как popToRootViewController из модального представления? - PullRequest
5 голосов
/ 02 мая 2011

У меня есть типичный набор представлений UITableViewController. На всех видах есть кнопка, которая вызывает вид модели. В этом окне настроек есть кнопка. Я хотел бы, чтобы эта кнопка отклоняла модальное представление и , чтобы реализовать popToRootViewController в навигационном контроллере UITableViewController.

Отклонить модальный вид легко:

[self dismissModalViewControllerAnimated:NO];

и это прекрасно работает. Я пробовал это, чтобы выскочить основной UITableViewController:

[self.parentViewController.navigationController popToRootViewControllerAnimated:NO];

и ничего не происходит.

Я, вероятно, могу реализовать делегата, чтобы это произошло, но есть довольно много контроллеров представления с одной и той же кнопкой «Настройки» (и это еще не все), поэтому предпочтительнее найти решение, не требующее дополнительного кода в каждом контроллере представления. .

Большое спасибо!

Ответы [ 5 ]

6 голосов
/ 29 октября 2013

проверьте ответ по rdelmal (https://stackoverflow.com/a/16311935/1395563),, это сработало для меня. Я использую этот код в действии в модальном представлении.

[(UINavigationController *)self.presentingViewController  popToRootViewController:NO];
[self dismissViewControllerAnimated:YES completion:nil];
1 голос
/ 06 мая 2014

добавить метод в ваш файл приложения.

-(void)GotoRoot{
[self.navigationController popToRootViewControllerAnimated:YES];}

Теперь назовите его в своем классе на кнопку выхода из системы

[self dismissModalViewControllerAnimated:NO];
[(TestAppDelegate *)[[UIApplication sharedApplication] delegate]) GotoRoot];

пожалуйста, верните его результат;

1 голос
/ 06 июня 2011

Не удалось найти решение, подобное этому, поэтому я реализовал протокол / делегат, который работает нормально. Просто:

[self.navigationController popToRootViewControllerAnimated:NO];

в делегатском вызове.

1 голос
/ 06 мая 2011

Попробуйте

[[[[UIApplication sharedApplication].keyWindow] rootViewController] popToRootViewController:YES];
0 голосов
/ 16 февраля 2012

Это работает для меня

[[self parentViewController] popToRootViewControllerAnimated:NO]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...