Cocoa touch UiImagePickerController-附加预览屏幕和覆盖

Cocoa touch UiImagePickerController-附加预览屏幕和覆盖,cocoa-touch,ios4,uiimagepickercontroller,Cocoa Touch,Ios4,Uiimagepickercontroller,最新的“Yelp”应用程序提供了“添加商业照片”功能。拍照后,预览屏幕将照常显示。但是,点击“使用”按钮显示的是同一个预览屏幕,屏幕上覆盖有按钮和文本字段,用于输入标题。我已经了解到,在预览屏幕上“仅”显示覆盖图的方法如下: - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController ani

最新的“Yelp”应用程序提供了“添加商业照片”功能。拍照后,预览屏幕将照常显示。但是,点击“使用”按钮显示的是同一个预览屏幕,屏幕上覆盖有按钮和文本字段,用于输入标题。我已经了解到,在预览屏幕上“仅”显示覆盖图的方法如下:

- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController
animated:(BOOL)animated
{
   if (!viewController)
   return;

   UIView* controllerViewHolder = viewController.view;
   UIView* controllerCameraView = [[controllerViewHolder subviews] objectAtIndex:0];
   UIView* controllerPreview = [[controllerCameraView subviews] objectAtIndex:0];
   [controllerCameraView insertSubview:self.overlayView aboveSubview:controllerPreview];
}
我还没有让这项工作:)然而,我现在正在讨论使用什么方法来显示预览屏幕两次,即正常显示一次,然后使用覆盖

我还不知道UIImagePickerController的详细信息,我想知道是否可以在预览上方插入覆盖并在预览显示后重新显示预览(不确定是否可能),或者创建并显示一个全新的视图(应用覆盖的预览副本)?(我也不知道该怎么做)


提前感谢您的输入。

UIImagePickerController是一个导航控制器。这意味着您可以在由图像选择器控制的视图控制器堆栈上下推送内容。当您收到imagePickerController:didFinishPickingMediaWithInfo:notification时,只需像这样将另一个视图推到图像选择器堆栈上

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
   NSURL *imageURL = [info objectForKey:UIImagePickerControllerMediaURL];
   MyCustomPreviewController *customPreview = [[MyCustomPreviewController alloc] initWithImageURL:imageURL];

   [picker pushViewController:customPreview animated:YES];
}