前提・実現したいこと
collectionViewで画像を表示させたいです。
https://i-app-tec.com/ios/collectionview.html
こちらのサイトを参考にしてcollectionViewを実装しようとしたのですが、うまくいきません。他のサイトを調べてみたところ、SecondViewController?別のファイルにメゾッドを書く必要があるといったような情報もあり、混乱しています。
この参考にしたサイトではimageViewやlabelのOutletが無いと思ったのですが、タグをつけることで解決しているのでしょうか?
画像は全部で4つ、2xのところにそれぞれ配置しています。
疑問がたくさんあり、申し訳ありません。めちゃくちゃな質問かもしれませんが、どなたか分かる方がいましたら、よろしくお願いします。
発生している問題・エラーメッセージ
Thread 1: Exception: "-[TimerBotton.ViewController collectionView:numberOfItemsInSection:]: unrecognized selector sent to instance 0x7fa672408540"
該当のソースコード
swift
1import UIKit 2 3class ViewController: UIViewController { 4 5 @IBOutlet weak var collection: UICollectionView! 6 7 // サムネイル画像の名前 8 let photos = ["1x", "2x","3x","4x"] 9 10 override func viewDidLoad() { 11 super.viewDidLoad() 12 } 13 14 func collectionView(_ collectionView: UICollectionView, 15 cellForItemAt indexPath: IndexPath) -> UICollectionViewCell{ 16 17 // "Cell" はストーリーボードで設定したセルのID 18 let testCell:UICollectionViewCell = 19 collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", 20 for: indexPath) 21 22 // Tag番号を使ってImageViewのインスタンス生成 23 let imageView = testCell.contentView.viewWithTag(1) as! UIImageView 24 // 画像配列の番号で指定された要素の名前の画像をUIImageとする 25 let cellImage = UIImage(named: photos[indexPath.row]) 26 // UIImageをUIImageViewのimageとして設定 27 imageView.image = cellImage 28 29 // Tag番号を使ってLabelのインスタンス生成 30 let label = testCell.contentView.viewWithTag(2) as! UILabel 31 label.text = photos[indexPath.row] 32 33 return testCell 34 } 35 36 func numberOfSections(in collectionView: UICollectionView) -> Int { 37 // section数は1つ 38 return 1 39 } 40 41 func collectionView(_ collectionView: UICollectionView, 42 numberOfItemsInSection section: Int) -> Int { 43 // 要素数を入れる、要素以上の数字を入れると表示でエラーとなる 44 return photos.count; 45 } 46} 47
試したこと
ほかのサイトを参考にして、別のファイルにメゾッドを書いたりしたのですがうまくいきませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/06 06:19