如何为iOS中的照片库中选择的视频设置UIImagePickerController的allowEditing?

时间:2014-12-01 06:58:54

标签: ios objective-c uiimagepickercontroller

我在我的应用程序中使用UIImagePickerController。 我在按钮操作中显示以下警告。

enter image description here

我的代码在alertview委托方法中如下所示:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if ([alertView.title isEqualToString:@"Choose"]) {
        if (buttonIndex == 1) { //Camera
            [self presentImagePickerControllerWithCamera:YES];
        }
        else if(buttonIndex == 2) { //Library
            [self presentImagePickerControllerWithCamera:NO];
        }
    }
}

,方法'presentImagePickerControllerWithCamera'的内容是:

- (void)presentImagePickerControllerWithCamera:(BOOL)isCamera {

    CFStringRef mTypes[2] = { kUTTypeImage, kUTTypeMovie };
    CFArrayRef mTypesArray = CFArrayCreate(CFAllocatorGetDefault(), (const void**)mTypes, 2, &kCFTypeArrayCallBacks);
    imagePickerController.mediaTypes = (__bridge NSArray*)mTypesArray;
    imagePickerController.videoMaximumDuration = 60.0f;

    CFRelease(mTypesArray);
    if (isCamera) { // Showing the camera (Both Camera and video)
        imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
        imagePickerController.videoQuality = UIImagePickerControllerQualityTypeMedium;
        imagePickerController.allowsEditing = NO;
    }
    else {  // Showing library (Both Pictures and videos)
        imagePickerController.allowsEditing = YES;
        imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
    }

    [self presentViewController:imagePickerController animated:YES completion:nil];
}

我需要在用户从库中选择视频时将视频限制为1分钟,所以我写了

imagePickerController.videoMaximumDuration = 60.0f;

    imagePickerController.allowsEditing = YES;

它工作正常。但是当用户从库中选择图片时我不想编辑(图片上的方框)。 有没有办法实现它?

任何建议将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

目前的代码无法做到这一点。

您已将两种媒体类型分配在一起。这将显示你的形象和视频到照片库。一旦UIImagePickerController显示您无法访问它,我的意思是您无法知道在委托来电之前用户将选择哪个(图片或视频)。

因此,要在您的情况下实现此目的,您需要立即设置每种媒体类型。并且基于该媒体类型,必须设置allowsEditing属性。