Автоматически отклонять подчиненное модальное представление - PullRequest
1 голос
/ 29 сентября 2011

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

if(self.parentViewController.parentViewController)
        [self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
else
    [self dismissModalViewControllerAnimated:YES];

У меня есть представление, которое иногда вызывается из модального представления.В этом случае мне нужно избавиться от обоих взглядов одновременно.Пока имеем дело с ситуацией, когда это был единственный модальный вид.Это сработало.

1 Ответ

2 голосов
/ 19 октября 2011

Начиная с xCode 4.2, это больше не работает. Новый способ справиться с этой ситуацией:

if(self.presentingViewController.presentingViewController)
    [self.presentingViewController.presentingViewController dismissModalViewControllerAnimated:YES];
else
    [self dismissModalViewControllerAnimated:YES];

Как указано @Hollance в соответствующей моей ветке:

iOS 5 SDK обрабатывает UIViews по-разному

"В iOS 5 есть новое свойство с именем presentingViewController. Значение parentViewController немного изменилось с новым API контроллера представления контейнера,так что он не всегда может быть установлен, когда вы думаете, что это так. Вот для чего сейчас представляетViewController. "

...