iOS:检测或禁用多个图像选择

时间:2018-07-26 06:49:05

标签: ios uiimagepickercontroller

我们有一个带有图像附件控件的UIWebview。

enter image description here

我们用户点击控件,将弹出一个iOS操作表。

enter image description here

当用户点击“浏览”或“照片库”时,用户可以选择多个图像。

enter image description here

然后我拦截

1001用我自己的ImagePickerViewController调用,已将其插入。

因此,我的问题是:在payment_status中,是否可以检测到已选择了多个图像?如果不是,是否有一种方法可以强制在iOS端选择图片只允许一张图片?

如果可能的话,我想检测到已选择了多张图像,然后又恢复到正常功能(即,我不会烦恼)。

我确实检查了选择器和作为参数发送到1的信息,但是即使选择了多个图像,info参数也只包含一个图像的信息。它会保留第一个选择,而舍弃第二个选择,因此不会再次调用该方法。

编辑: 我没有使用第三方图像选择器。

1 个答案:

答案 0 :(得分:0)

UIImagePickerController先呼叫didFinishPickingMediaWithInfo,然后再呼叫didFinishPickingMultipleMediaWithInfo。它先调用didFinishPickingMediaWithInfo,然后检查

if info["UIImagePickerControllerReferenceURL"] == nil {
    // process the selected single image, we don't want to process multiple images
} else {
    // do nothing
}

然后调用didFinishPickingMultipleMediaWithInfo,这一次使用适当的数组,如果数组中的项数大于一,则使用常规方法,而不使用混乱的代码,但是如果只有一个图像,我们会像往常一样使用复杂的方法进行处理。

因此,我们不能禁用多个图像选择,但是使用didFinishPickingMultipleMediaWithInfo,我们可以检测何时选择了多个图像,并更改应用程序的行为。