Swift3 在库中的CollectionView中显示图像

Swift3 在库中的CollectionView中显示图像,swift3,uicollectionview,uiimagepickercontroller,Swift3,Uicollectionview,Uiimagepickercontroller,我想将从gallery中选择的图像显示到CollectionView中的ImageView中。我该怎么做?? 在普通图像视图中显示选定的图像工作正常 下面是我的代码: var selectedImage = UIImage () @IBAction func selectPics(_ sender: Any) { if self.picsCollectionView.isHidden == true { self.picsCollectionView.isHidd

我想将从gallery中选择的图像显示到CollectionView中的ImageView中。我该怎么做?? 在普通图像视图中显示选定的图像工作正常

下面是我的代码:

var selectedImage = UIImage ()
@IBAction func selectPics(_ sender: Any)
{
    if self.picsCollectionView.isHidden == true
    {
        self.picsCollectionView.isHidden = false
        self.imageView.isHidden = true
    }

    self.picker.allowsEditing = true
    self.picker.sourceType = .photoLibrary
    present(self.picker, animated: true, completion: nil)
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info:[String: Any])
{
    if let image = info[UIImagePickerControllerEditedImage] as? UIImage
    {
        selectedImage = image
    }
    else if let image = info[UIImagePickerControllerOriginalImage] as? UIImage
    {
        selectedImage = image
    }
    else
    {
        print("Something went wrong")
    }

    self.dismiss(animated: true, completion: nil)
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
    return 1
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath as IndexPath) as! UploadCollectionViewCell

    cell.cellImgView.image = selectedImage

    return cell
}

找到了答案。只需要添加一行

以下是解决方案:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info:[String: Any])
{
    if let image = info[UIImagePickerControllerEditedImage] as? UIImage
    {
        selectedImage = image
        self.picsCollectionView.reloadData()
    }

    else if let image = info[UIImagePickerControllerOriginalImage] as? UIImage
    {
        selectedImage = image
        self.picsCollectionView.reloadData()
    }

    else
    {
        print("Something went wrong")
    }

    self.dismiss(animated: true, completion: nil)
}