Snapshotting a view that has not been rendered results in an empty snapshot in iOS 7

时间:2015-06-26 09:58:21

标签: ios objective-c iphone

In iOS 8, When i click to open the camera from my ipad mini it gives warning

"Snapshotting a view that has not been rendered results in an empty snapshot"

I am using the below code to open camera from my device.

- (IBAction)takePhotograph:(UIButton *)sender {
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;            
    [self presentViewController:picker animated:YES completion:NULL];
    }

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
        UIImage *chosenImage = info[UIImagePickerControllerEditedImage];
        [self.cmdTakePhotograph setImage:chosenImage forState:UIControlStateNormal];
        [picker dismissViewControllerAnimated:YES completion:NULL];
        imageTaken = 1;
        Compress = 1;
        self.lblErrMsg.hidden = YES;

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
        [picker dismissViewControllerAnimated:YES completion:NULL];
}

Please suggest me solution to remove this warning.

1 个答案:

答案 0 :(得分:0)

Hope this helps you.

      UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
      [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
      [imagePicker setDelegate:self];

     if ([self respondsToSelector:@selector(presentViewController:animated:completion:)])
     {
        [imagePicker setShowsCameraControls:NO];
        [self presentViewController:imagePicker animated:YES  completion:^{
        [imagePicker setShowsCameraControls:YES];
       }];
    } 
  else
   {
      [imagePicker setShowsCameraControls:YES];
      [self presentModalViewController:imagePicker animated:YES];
  }