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];
}}];
}