1

Начиная новую нить ... примерно такой же вопрос .. Я попробовал все, что я получаю из разных пост и форумах ... ни один рабочий для меня ..Использование множественного ModalViewController

Что я хочу сделать это ...

[self presentModalViewController:ViewControllerA animated:YES];//Working fine 
//Inside viewControllerA call viewControllerB 
[self presentModalViewController:ViewControllerB animated:YES];//Working fine 
//Dismiss both the Controllers. and present View 

C

Я пытался.

  1. viewControllerA перед тем увольнении представления ViewControllerB // который непосредственно будет смотреть C
  2. Dismissing viewControllerA в viewControllerB // Нет результатов. // DismissViewController должен отклонить все стек .. но не работает для меня, поэтому я попытался
  3. Отвергая как viewContrller в viewControllerB // еще показывает viewContrllerA

OMG ... это сбивает с толку ..

ответ

0

Вот что я сделал .. не хорошее решение, но работает сейчас .. :)

/// ViewDidLoad [самоуправления presentModalViewController: ViewControllerA анимированный: YES]; // Работа тонкая

// внутри ViewController A [self rejectModalViewControllerAnimated: NO]; не

// ViewWillAppear [собственной presentModalViewController: ViewControllerB анимированный: ДА]; // работает нормально

// внутри ViewController B [собственной dismissModalViewControllerAnimated: NO];

1

Ваш код неясен (вы используете self два раза, когда они, вероятно, ссылаются на разные вещи). Я предполагаю, что вы хотите сделать, это (эффективно) это:

[viewController presentModalViewController:viewControllerA animated:YES]; 
// time passes... 
[viewControllerA presentModalViewController:viewControllerB animated:YES]; 
// time passes 
... do something to dismiss both controllers ... 

Вы могли бы иметь удачи с чем-то вроде этого:

[viewControllerA dismissModalViewController:NO]; 
[viewController dismissModalViewController:NO]; 

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

+0

если я использую viewController вместо self для представленияModalViewController ... он не представляет представление ... вот как я создаю viewControllerA ..... ViewControllerA * viewControllerA = [[[[ViewControllerA alloc] init] autorelease]; – kthorat

+0

Я использую viewController для ссылки на какой-либо «корневой» контроллер просмотра, который вы используете. «Я» само по себе не имеет смысла. Вздох. –

+0

Im still tyring ... – kthorat

Смежные вопросы