IOS 拍照黑屏解决

来源:互联网 发布:java反转字符串 编辑:程序博客网 时间:2024/05/01 10:52

之前好好的代码,现在拍照,等照片拍摄完毕,会出现黑屏(拍照结束了,看到的是黑屏状态。正常情况下是图片),但是还是可以获取并且保存照片到本地的。

结果发现是同事写的状态栏的statusBar造成的,去除就可以正常拍照了。这些也是受这篇文章的提点:

http://stackoverflow.com/questions/21538781/uiimagepickercontroller-camera-blank-snapshot-image



#pragma mark -- Camera And Picture- (void)loadCameraChooseImage{    UIActionSheet *sheet;        // 判断是否支持相机    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])    {        sheet  = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"从相册选择", nil];    }        else    {        sheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"从相册选择", nil];    }        sheet.tag = 255;        [sheet showInView:self.view];}- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{    if (actionSheet.tag == 255)    {        NSUInteger sourceType = 0;                // 判断是否支持相机        if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])        {            switch (buttonIndex)            {                case 0:                    // 相机                    sourceType = UIImagePickerControllerSourceTypeCamera;                    break;                                    case 1:                    // 相册                    sourceType = UIImagePickerControllerSourceTypePhotoLibrary;                    break;                                    case 2:                    // 取消                    return;            }        }        else        {            if (buttonIndex == 0)            {                sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;            }            else            {               return;            }        }                if (sourceType == UIImagePickerControllerSourceTypePhotoLibrary)        {               [self.navigationController pushViewController:_vc animated:YES];        }                else if (sourceType == UIImagePickerControllerSourceTypeCamera)        {            // 跳转到相机或相册页面            UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];            imagePickerController.delegate = self;            imagePickerController.sourceType = sourceType;                              if (iPad)//ipad拍照走下面的方法             {                [[NSOperationQueue mainQueue] addOperationWithBlock:^{                                        // [self presentViewController:imagePickerController animated:NO completion:nil];                    [self presentViewController:imagePickerController animated:YES completion:^{}];                }];            }            else  //iphone拍照走下面的方法            {                [self presentViewController:imagePickerController animated:YES completion:^{}];            }        }    }}#pragma mark - image picker delegte- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{    [picker dismissViewControllerAnimated:YES completion:^{}];        UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];    /* 此处info 有六个值     * UIImagePickerControllerMediaType; // an NSString UTTypeImage)     * UIImagePickerControllerOriginalImage;  // a UIImage 原始图片     * UIImagePickerControllerEditedImage;    // a UIImage 裁剪后图片     * UIImagePickerControllerCropRect;       // an NSValue (CGRect)     * UIImagePickerControllerMediaURL;       // an NSURL     * UIImagePickerControllerReferenceURL    // an NSURL that references an asset in the AssetsLibrary framework     * UIImagePickerControllerMediaMetadata    // an NSDictionary containing metadata from a captured photo     */        if (_photoArray.count > 0)    {        [_photoArray removeLastObject];    }    [_photoCollectionView reloadData];}- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{   [self dismissViewControllerAnimated:YES completion:^{}];<span style="font-family: Arial, Helvetica, sans-serif;">}</span>


0 0
原创粉丝点击