【问题标题】:UiImagePickerController - Additional Preview Screen With OverlayUiImagePickerController - 带有叠加层的附加预览屏幕
【发布时间】:2011-05-05 21:26:28
【问题描述】:

最新的“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 的来龙去脉,我想知道是否可以在预览上方插入叠加层并在显示预览后重新显示预览(不确定是否可能)或创建并显示一个全新的视图(应用覆盖的预览副本)? (也不知道我会怎么做)。

提前感谢您的意见..

【问题讨论】:

    标签: cocoa-touch ios4 uiimagepickercontroller


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多