+1  A: 

You have to present the UIImagePickerController as a modal view controller. So don't push your controller, but present it as modal:

[self.navigationController presentModalViewController:imagePickerController animated:YES];

You can pop the image picker using -[UINavigationController dismissModalViewControllerAnimated:] to go back to the last view controller on the stack.

JoostK