Переход к основному ViewController dismissViewControllerAnimated дилемма - PullRequest
2 голосов
/ 21 февраля 2012

У меня есть 2 контроллера ViewController, напрямую подключенных с помощью push-перехода.Я перемещаюсь от первого до второго контроллера представления, вызывая [self performSegueWithIdentifier:@"segueIdentifier" sender:sender].На втором у меня есть метод IBAction, который связан с кнопкой «Готово».Нажатие на эту кнопку должно привести к отображению первого контроллера вида (вроде кнопки «назад»).Мне удалось сделать это с помощью:

NSArray *viewControllers = self.navigationController.viewControllers;
[self.navigationController popToViewController:[viewControllers
objectAtIndex:0] animated:YES];

Я пытался добиться того же эффекта, используя:

[self dismissViewControllerAnimated:YES completion:nil];

Независимо от того, что я пытался, хотя это не помогло.Я пытаюсь понять, что именно мне не хватает, но я не могу понять это.Работает ли метод dismissViewControllerAnimated только с модальными сегментами (это единственное, что пришло в голову).

Спасибо

1 Ответ

5 голосов
/ 21 февраля 2012

Да,

- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion

- это когда модально отображается UIViewController.

- (UIViewController *)popViewControllerAnimated:(BOOL)animated

должен делать то, что вы ищете.

Таким образом, в вашей второйVC:

[self.navigationController popViewControllerAnimated:YES];

Вы сэкономите много хлопот, если прочитаете ссылки на UIViewController и UINavigationController.Дважды;)

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