从UIImagePickerController摄像头视图中推送viewController

我正在开发一个消息传递应用程序(类似于WhatsApp),用户可以相互发送文本和图像消息。

当用户想要发送图像时,他可以从相机胶卷中选择一个,或者他可以用相机拍摄一个。

这是我为两种情况呈现UIImagePickerController的方式:

 - (void)handleTakePhoto { UIImagePickerController *ipc = [[UIImagePickerController alloc] init]; ipc.delegate = self; ipc.sourceType = UIImagePickerControllerSourceTypeCamera; [self presentModalViewController:ipc animated:YES]; [ipc release]; } - (void)handleChooseFromLibrary { UIImagePickerController *ipc = [[UIImagePickerController alloc] init]; ipc.delegate = self; ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; NSString *desired = (NSString *)kUTTypeImage; if ([[UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypePhotoLibrary] containsObject:desired]) { ipc.mediaTypes = [NSArray arrayWithObject:desired]; } [self presentModalViewController:ipc animated:YES]; [ipc release]; } 

在用户选择/拍照后,我正在推送一个SendImageViewController ,它以全屏显示图像,并有一个实际发送图像的按钮。

这是我推动它的方式:

 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; SendImageViewController *sivc = [[SendImageViewController alloc] initWithImage:image delegate:self]; [picker pushViewController:sivc animated:YES]; [sivc release]; } 

当我从相机胶卷推送SendImageViewController ,一切都很好。 问题是,当从相机拍摄图像时,我无法推送我的SendImageViewController ,因为相机没有导航栏(我试图推动它,但我的SendImageViewController视图没有很好地呈现)

我怎么处理这个?

*我不想解雇选择器,然后推送SendImageViewController ,我希望将SendImageViewController推到相机/相机胶卷的顶部,所以当我点击后退按钮时我会回到相机/相机胶卷视图。

尝试显示如下导航栏:

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES]; [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide]; [picker setNavigationBarHidden:NO animated:YES]; [picker pushViewController:vc animated:YES];