在后台呈现视图控制器

时间:2012-11-18 09:48:31

标签: objective-c ios xcode uiimagepickercontroller

我在呈现视图控制器时出现问题,而另一个已经呈现。

在我的应用程序中,我提供了UIImagePickerController,在选择图像后(从库中或通过设备的相机)应该返回另一个视图控制器。

例如,假设您单击了启动相机的相机按钮,拍照后相机会向下滑动,但您看到的视图不是带有相机按钮的视图,而是可以编辑的视图图像的元数据。

有没有人知道完成这项任务的方法?

非常感谢,iLyrical。

2 个答案:

答案 0 :(得分:2)

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    [picker dismissModalViewControllerAnimated:NO];

    NewViewController *viewController = [[NewViewController alloc] init];
    viewController.image = image;
    [self presentModalViewController:viewController animated:NO];
}

如果您可以使用iOS 5.0或更高版本:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
   [picker dismissViewControllerAnimated:YES completion:^(){
        NewViewController *viewController = [[NewViewController alloc] init];
        viewController.image = image;
        [self presentViewController:viewController animated:NO completion:nil];
    }];
}

UIViewController Class Reference

上查看Apple的文档

答案 1 :(得分:0)

如果您能够在呈现UIImagePickerController之前初始化最终的viewController,您可以尝试:

  1. 初始化最终的viewController
  2. 将其隐藏或其视图的alpha = 0并推送非动画
  3. 目前imagePicker viewController
  4. 设置最终的viewController非隐藏
  5. 关闭模态viewController