2017-12-05 12 views
0

I画像がUIImagePickerデリゲートで追加されたときにviewDidLoadに隠し開始しUICollectionViewは、そのコレクションはここで、「再表示」してからリロードを行くUICollectionViewは非表示解除後の画像が表示されないこと

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
    if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     self.imagesToSend.append(pickedImage) 
    } 

    self.imagenesCollectionView.isHidden = false 
    self.imagenesCollectionView.reloadData() 
    dismiss(animated: true, completion:nil) 
} 
次のコードである必要があり

問題は、コレクションに画像が表示されないことが示された場合、画像が表示されるように2番目の画像を追加する必要があります。画像があるときにコレクションを表示し、イメージ、今まで隠す機能は正常に動作しますが、表示されません。終了ハンドラを解任で

self.imagenesCollectionView.isHidden = false 
self.imagenesCollectionView.reloadData() 

を追加

+0

あなたのtableViewデータソースを投稿できますか? –

答えて

1

してみてください。同様

dismiss(animated: true, completion:{ 
    self.imagenesCollectionView.isHidden = false 
    self.imagenesCollectionView.reloadData() 
}) 

編集1: 代わりの完了にコレクションビューをリロードします。配列データの可用性に基づいてviewWillAppearメソッドにコレクションビューリロードを追加します。

例:

if self.imagesToSend.count > 0 { 
    self.imagenesCollectionView.isHidden = false 
    self.imagenesCollectionView.reloadData() 
} else { 
    self.imagenesCollectionView.isHidden = true 
} 
+0

同じことが起こりますが、コレクションは表示されますが、画像は表示されません –

+0

コレクションビューにデータをどのように読み込んでいるのかわかりません。デリゲートとデータソースが正しく設定されていて、データが配列で使用できることを確認してください。 –

0

は方法setNeedsLayoutまたはsetNeedsDisplayを使用してみてください。これらはビューの更新に関連しており、collectionViewやimageView自体で使用する必要があるかもしれません。

関連する問題