How to open camera while I click the UIButton in iPhone?

前端 未结 3 1285
不思量自难忘°
不思量自难忘° 2020-12-13 20:59

I am trying to open the camera when I click the UIbutton in iPhone app. I want to store the captured image in a location that I specify.

相关标签:
3条回答
  • 2020-12-13 21:45
    - (IBAction) useCamera: (id)sender
    {
        if ([UIImagePickerController isSourceTypeAvailable:
             UIImagePickerControllerSourceTypeCamera])
        {
            UIImagePickerController *imagePicker =
            [[UIImagePickerController alloc] init];
            imagePicker.delegate = self;
            imagePicker.sourceType =
            UIImagePickerControllerSourceTypeCamera;
            imagePicker.mediaTypes = [NSArray arrayWithObjects:
                                      (NSString *) kUTTypeImage,
                                      nil];
            imagePicker.allowsEditing = NO;
            [self presentModalViewController:imagePicker
                                    animated:YES];
            newMedia = YES;
        }
    }
    -(void)imagePickerController:(UIImagePickerController *)picker
    didFinishPickingMediaWithInfo:(NSDictionary *)info
    {
        [self.popoverController dismissPopoverAnimated:true];
    
        NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
        [self dismissModalViewControllerAnimated:YES];
        if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) 
        {
        UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
        imageView.image = image;
            if (newMedia)
                UIImageWriteToSavedPhotosAlbum(image, self,  
                                               @selector(image:finishedSavingWithError:contextInfo:),nil);
        }
    
    }
    -(void)image:(UIImage *)image
    finishedSavingWithError:(NSError *)error
     contextInfo:(void *)contextInfo
    {
        if (error) 
        {
            UIAlertView *alert = [[UIAlertView alloc]
                                  initWithTitle: @"Save failed"
                                  message: @"Failed to save image"
                                  delegate: self
                                  cancelButtonTitle:@"OK"
                                  otherButtonTitles:nil];
            [alert show];
    
        }
    }
    
    -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
    {
        [self dismissModalViewControllerAnimated:YES];
    }
    
    0 讨论(0)
  • 2020-12-13 21:58

    You need to use something like this

    - (IBAction)selectPhotos
    {
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
        picker.delegate = self;
        [self presentModalViewController:picker animated:YES];
        [picker release];
    }
    
    - (void)imagePickerController:(UIImagePickerController *)picker
            didFinishPickingImage:(UIImage *)image
                      editingInfo:(NSDictionary *)editingInfo
    {
        imageView.image = image;
        [[picker parentViewController] dismissModalViewControllerAnimated:YES];
    }
    
    
    - (IBAction)saveImage:(id)sender {
        if(imageView.image) {
            [self showProgressIndicator:@"Saving"];
            UIImageWriteToSavedPhotosAlbum(imageView.image, self, @selector(finishUIImageWriteToSavedPhotosAlbum:didFinishSavingWithError:contextInfo:), nil);
        }
    }
    
    0 讨论(0)
  • 2020-12-13 21:59

    use [picker dismissViewControllerAnimated:YES completion:nil];

    instead of [[picker parentViewController] dismissModalViewControllerAnimated:YES];

    0 讨论(0)
提交回复
热议问题