Да, есть.
UIViewController
предлагает различные способы отклонения контроллера представления в зависимости от того, представили ли вы его модально или нет. Это:
-(void)dismissModalViewControllerAnimated:(BOOL)animated; // modal
-(void)dismissViewControllerAnimated:(BOOL)flag
completion:(void (^)(void))completion;
Вам нужно будет отклонить их один за другим.
Кроме того, найдите время, чтобы прочитать View Programming Guide от Apple.
Используя UINavigationController
, вы можете получить доступ к любому контроллеру вида, используя:
-(NSArray *)popToViewController:(UIViewController *)viewController
animated:(BOOL)animated;
В качестве альтернативы, другой метод позволяет использовать только один:
-(UIViewController *)popViewControllerAnimated:(BOOL)animated;