When using pushViewController
to push UIImagePickerController
:
[self.navigationController pushViewController:pvc animated:YES];
an error will occur such as:
Pushing a navigation controller is not supported
The right solution is to use presentModalViewController
:
[self presentModalViewController:pvc animated:YES];
Can someone explain why this is necessary? What‘s hidden in UIViewController
?
Thanks!
Apple does not allow stacking of navigation bars. Since the image picker has its own navigation bar, it cannot be placed in a navigation stack. The result would cause user confusion since there would be two bars, two sets of navigation items, two titles, etc.