UIPickerView UIImage 和 Segue [英] UIPickerView UIImage and Segue

查看:31
本文介绍了UIPickerView UIImage 和 Segue的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,我在我的 UserView 中使用带有 UIImagePickerCollection 的相机.但是一旦用户选择使用照片",我希望将我的照片放在cameraView"的另一个视图中,因为我有一些处理.这是我的代码:

In my app, I use the camera with UIImagePickerCollection in my UserView. But once the user, select "use photo" I would like to have my photo in an other view which is "cameraView" because I have some treatment to do with. Here is my code :

-(void)takeAPicture{
NSLog(@"CHEESE");
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];

imagePicker.delegate = self;

imagePicker.sourceType =
UIImagePickerControllerSourceTypeCamera;

imagePicker.mediaTypes =
@[(NSString *) kUTTypeImage];

imagePicker.allowsEditing = NO;
[self presentViewController:imagePicker
                   animated:YES completion:nil];
}

-(void)imagePickerController:
(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [self dismissViewControllerAnimated:YES completion:^{
    _img = [info objectForKey:UIImagePickerControllerOriginalImage];
    if ([picker sourceType] == UIImagePickerControllerSourceTypeCamera) {
        UIImageWriteToSavedPhotosAlbum(_img, nil, nil, nil);
    }}];
    [self performSegueWithIdentifier:@"toCameraView" sender:self];
}

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"toCameraView"])
        {
            CameraViewController *transferViewController = segue.destinationViewController;
        transferViewController.img = _img;
    }
}

当我运行我的应用程序时,我收到一条警告消息:

When i'm running my app, I receive an warning message which is :

Warning: Attempt to present <CameraViewController: 0x17e20eb0> on <EIUserViewController: 0x189b1000> while a presentation is in progress!

我不明白它是什么以及如何处理它,我无法在另一个视图中接收我的图像并在选择使用图片"后直接显示我的视图.如果有人有解释或解决方案?谢谢你们!

I don't understand what it is, and how to deal with it, I can't manage to receive my image in the other view and showing my view directly after choosing "use picture". If someone has an explanation or a solution ? thank you guys !

推荐答案

您正在尝试 [self performSegueWithIdentifier:@"toCameraView" sender:self] 在 UIImagePickerController 关闭期间,换句话说:无法为第一个 VC 消失期间出现的第二个 VC 设置动画.尝试移动 [self performSegueWithIdentifier:@"toCameraView" sender:self];内完成块:

You are trying to [self performSegueWithIdentifier:@"toCameraView" sender:self] during UIImagePickerController dismissing, other words: cannot animate second VC appearing during first VC disappearing. Try to move [self performSegueWithIdentifier:@"toCameraView" sender:self]; inside completionBlock:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    [self dismissViewControllerAnimated:YES completion:^{
    _img = [info objectForKey:UIImagePickerControllerOriginalImage];
    if ([picker sourceType] == UIImagePickerControllerSourceTypeCamera) {
        UIImageWriteToSavedPhotosAlbum(_img, nil, nil, nil);
    [self performSegueWithIdentifier:@"toCameraView" sender:self];
    }}];
}

这篇关于UIPickerView UIImage 和 Segue的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆