gpt4 book ai didi

swift - uiimagepicker 为我的 imageview 选择相同的图像

转载 作者:行者123 更新时间:2023-11-30 11:00:59 25 4
gpt4 key购买 nike

晚上好,

我有三个框,用户可以在其中从手机中选择图像。我试图允许用户上传多张图片,每个框中一张,有点像 Tinder 或 Instagram。当我选择图像时,由于某种原因,它只是选择多个相同的图像,而不是选择三个单独的图像。有没有办法单独挑选图像?

The default setup

This is what happens when I select an image

扩展 newPostViewController:UIImagePickerControllerDelegate、UINavigationControllerDelegate {

@objc func handleSelectJobImageView() {
let picker = UIImagePickerController()

picker.delegate = self
picker.allowsEditing = true

present(picker, animated: true, completion: nil)
}
@objc func handleSelectJobImageView2() {
let picker2 = UIImagePickerController()

picker2.delegate = self
picker2.allowsEditing = true

present(picker2, animated: true, completion: nil)
}
@objc func handleSelectJobImageView3() {
let picker3 = UIImagePickerController()

picker3.delegate = self
picker3.allowsEditing = true

present(picker3, animated: true, completion: nil)
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

var selectedImageFromPicker: UIImage?
if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {
selectedImageFromPicker = editedImage
} else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {
selectedImageFromPicker = originalImage
if let selectedImage = selectedImageFromPicker{
JobImageView.image = selectedImage
dismiss(animated: true, completion: nil)
}
}

var selectedImageFromPicker2: UIImage?
if let editedImage2 = info["UIImagePickerControllerEditedImage"] as? UIImage {
selectedImageFromPicker2 = editedImage2
} else if let originalImage2 = info["UIImagePickerControllerOriginalImage"] as? UIImage {
selectedImageFromPicker2 = originalImage2
if let selectedImage2 = selectedImageFromPicker2{
JobImageView2.image = selectedImage2
dismiss(animated: true, completion: nil)
}
}
var selectedImageFromPicker3: UIImage?
if let editedImage3 = info["UIImagePickerControllerEditedImage"] as? UIImage {
selectedImageFromPicker3 = editedImage3
} else if let originalImage3 = info["UIImagePickerControllerOriginalImage"] as? UIImage {
selectedImageFromPicker3 = originalImage3
if let selectedImage3 = selectedImageFromPicker3{
JobImageView3.image = selectedImage3
dismiss(animated: true, completion: nil)
}
}
}

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
print("canceled picker")
dismiss(animated: true, completion: nil)
}
}

最佳答案

imagePickerController(_ picker: , didFinishPickingMediaWithInfo info:) 仅从 UIImagePicker 返回 1 个图像。因此,上面的逻辑是错误的,因为 selectedImageFromPicker、selectedImageFromPicker2 和 selectedImageFromPicker3 引用的是 imagePicker 中的同一图像。这就是为什么您会看到 3 个相同的图像。

我认为没有办法使用基本图像选择器来选择多个图像。您可以做的是将所有图像加载到 collectionView 中,并让用户选择单元格。或者您始终可以使用各种第三方库。

关于swift - uiimagepicker 为我的 imageview 选择相同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53366779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com