我们有一个带有图像附件控件的UIWebview。
我们用户点击控件,将弹出一个iOS操作表。
当用户点击“浏览”或“照片库”时,用户可以选择多个图像。
然后我拦截
1001
用我自己的ImagePickerViewController调用,已将其插入。
因此,我的问题是:在payment_status
中,是否可以检测到已选择了多个图像?如果不是,是否有一种方法可以强制在iOS端选择图片只允许一张图片?
如果可能的话,我想检测到已选择了多张图像,然后又恢复到正常功能(即,我不会烦恼)。
我确实检查了选择器和作为参数发送到1
的信息,但是即使选择了多个图像,info参数也只包含一个图像的信息。它会保留第一个选择,而舍弃第二个选择,因此不会再次调用该方法。
编辑: 我没有使用第三方图像选择器。
答案 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,我们可以检测何时选择了多个图像,并更改应用程序的行为。