2017-10-03 10 views
-1

は、ここに私のビューコントローラがどのように見えるかです:UICollectionViewCellの画像を別のUIImageViewに表示するにはどうすればいいですか? (スウィフト3)

Collection View Controller

UICollectionViewCellは、画像表示のための@IBOutletで、独自のカスタムクラスを持っています。ただし、CollectionViewControllerでdidSelectItemAt関数を使用しようとするたびに、イメージビューアウトレットが認識されません。私がしようとしているのは、ユーザーがコレクションビューの画像を押すと、(コレクションビューの外で)bigImageViewに表示されます。

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 

    let cell = collectionView.cellForItem(at: indexPath) 

    bigImageView.image = cell.smallImageView.image 

} 

エラーは言う:

「タイプの値 'UICollectionViewCell?' "smallImageView"のメンバーはありません "

何が欠けていますか?親切に私を教えてください。前もって感謝します!

+0

あなたはここでカスタムセルを使用していますか? –

答えて

0

あなたはsmallImageViewプロパティにアクセスするには、右サブクラスにあなたのセルをキャストする必要があります。

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 

    guard let cell = collectionView.cellForItem(at: indexPath) as? YourSubclass else { 
     return 
    } 

    bigImageView.image = cell.smallImageView.image 
} 
+0

ありがとう!これは私の問題を解決:) – acoustickat

0

あなたのストーリーボードでは、UICollectionViewCellを「カスタムクラス」に設定しましたか、ストーリーボードはsmallImageViewを持たないUICollectionViewCellオブジェクトを生成しますか?

関連する問題