Согласно doco для dismissModalViewControllerAnimated :
Если вы представите несколько модальных представлений
контроллеры подряд, и, таким образом,
построить стек модального представления
контроллеры, вызывающие этот метод на
посмотреть контроллер ниже в стеке
отклоняет свое непосредственное детское представление
контроллер и все контроллеры представления
выше этого ребенка в стеке. когда
это происходит, только самый верхний вид
уволен в оживленном порядке;
любые промежуточные контроллеры вида
просто удаляется из стека.
Итак, из вашего ContactUsViewController вам нужно вызвать dismissViewControllerAnimated на HomeViewController . Вы можете получить доступ к этому контроллеру представления через свойство parentViewController . Итак, ваш код в dismissAction для ContactUsViewController :
- (IBAction)dismissAction:(id)sender
{
// get your parent (ie AboutViewController)
UIViewController * parent = self.parentViewController;
// get its parent (ie HomeViewController)
[parent.parentViewController dismissModalViewControllerAnimated:YES];
}
Возможно, есть лучший способ добраться до вашего HomeViewController , но для вашего мелкого стека контроллеров представления это должно быть хорошо (я попробовал это, и это сработало).