0

У меня есть два различных сценария, которые вызывают тот же UIViewController, сценарий 1: в главном UIViewController нажав кнопку создает фиктивный штурмана и представить это следующим образом:обнаружения родителя, открыть UIViewController

UINavigationController* dummyNavigation = [[UINavigationController alloc]init]; 
[dummyNavigation addChildViewController:bViewController]; 
[self presentViewController:dummyNavigation animated:NO completion:NULL]; 

сценарий 2: в главном UIViewController нажав на кнопку открытия UITableViewController в нем каждый щелчок на строке с открытым bViewController так:

[self.navigationController pushViewController:bViewController animated:NO]; 

Я s и др навигационный бар bViewController для скрытой

[self.navigationController setNavigationBarHidden:YES]; 

и создал кнопку, чтобы заменить кнопку назад в навигации с этим кодом

[self dismissViewControllerAnimated:YES completion:NULL]; 

проблема: в обоих случаях возвращает код кнопки назад к основному uiviewcontroller, но в сценарии 2 ожидается его возврат к uitableviewcontroller

ответ

-1

Проверить, если уклонение, если оно находится в контроллере навигации, затем повернуть в противном случае s.

if (self.navigationController) { 
    [self.navigationController popViewControllerAnimated:YES]; 
} else { 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

ваш ответ неверен, так как 'если (self.navigationController)' является ** ** всегда верно в сценарии 1 есть dummyNavigation и сценарий 2 его navigationcontroller в UITableViewController в –

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