Отключение контроллера просмотра, чтобы показать желаемый на обратной стороне

Предположим, у меня есть 3 контроллера представления. Я инициирую vc1 в vc0, а затем vc2 в vc1. Теперь я хочу, чтобы vc2 был отклонен, и после этого за ним должен отображаться только vc0. Как это возможно? Я читал что-то об объявлении делегата. Но не мог понять.

У меня есть UISegmentcontrol, где я показываю контроллер из раскадровки, например - vc0 = [self.storyboard InstantiateViewControllerWithIdentifier=@"vc0"]; и сделать его подвидом [self.view addSubview:vc0.view]; Vc0 — это tableView, в котором должен быть представлен детальный контроллер. Когда я нажимаю на ячейку, она показывает подробное представление, но фактический segmentcontrol.view теряется при отклонении подробного представления.

Пример был бы потрясающим.

PS: я не использую переход для viewControllers. Вместо этого я использую presentModalViewController и rejectModalViewController.


person Monis Manzoor    schedule 15.07.2013    source источник
comment
vc1 и vc2 представлены модально одновременно?   -  person Wain    schedule 15.07.2013
comment
Вы хотели закрыть все контроллеры представления одновременно?   -  person Deepak Khiwani    schedule 15.07.2013
comment
из vc0 представляется vc1, а затем vc2 из vc1. Я хочу перейти напрямую к vc0 из vc2. Возможно?   -  person Monis Manzoor    schedule 15.07.2013


Ответы (1)


В iOS 5 вам нужно сделать

[self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES]

Начиная с iOS 6, функция rejectModalViewControllerAnimated: устарела.

Вам нужно позвонить

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:^{ // Do something on completion}] 
//If you want to perform something while going through views or other wise keep completion to nil as shown in below code.

or

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];

or

[self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
person Deepak Khiwani    schedule 15.07.2013
comment
Любая идея, есть ли у меня vc0 в качестве подвида представления segmentControl? Я хочу перейти к представлению segmentControl. - person Monis Manzoor; 15.07.2013
comment
можете ли вы поместить часть кода, чтобы я мог понять, что вы сделали до сих пор и что именно вы хотите - person Deepak Khiwani; 15.07.2013
comment
У меня есть UISegmentcontrol, где я показываю контроллер из раскадровки, например - vc0 = [self.storyboard InstantiateViewControllerWithIdentifier=@vc0]; и сделать его подвидом [self.view addSubview:vc0.view]; Vc0 — это tableView, в котором должен быть представлен детальный контроллер. Когда я нажимаю на ячейку, она показывает подробный вид, но фактическое управление сегментом вида теряется. Я не хочу, чтобы это было потеряно, когда подробный вид будет отклонен. - person Monis Manzoor; 15.07.2013