Я работаю над контроллером представления, который может быть представлен модально или помещен в стек навигации.Я сделал его подклассом UINavigationController
, чтобы получить все UIToolbar
бесплатно.Я могу представить его модально, используя:
[self presentModalViewController:myViewController animated:YES];
Проблема в том, что UINavigationController
не позволяет вставить в него еще один UINavigationController
(имеет смысл), поэтому это приводит к сбою:
[self.navigationController pushViewController:myViewController animated:YES];
Был бы способ обнаружить, как представляется myViewController
, и автоматически переключать его между UINavigationController
и UIViewController
соответственно, чтобы мне не понадобилось 2 разных класса?
Другими словами,myViewController сможет обнаружить, как он будет представлен, и подтолкнуть его к следующему:
[self.navigationController pushViewController:myViewController.topViewController animated:YES];
ПРИМЕЧАНИЕ : что-то подобное, вероятно, подойдет, но оно становитсяслишком далеко от поведения UIViewController по умолчанию:
[myViewController pushIntoNavigationController:navController]; // only push myViewController.topViewController
[myViewController presentModallyInParentController:parentController]; // push the whole myViewController