私はヘッダーを持つUICollectionViewを作成したいと思います。 mainStoryBoardでCollection Reusable Viewを設定しましたが、デバイスには何も表示されません。私は検索しようとしたが、なぜそれが出現していないのか分からなかった。デバイス上でIコレクションの再利用可能なビューが表示されない理由
メインストーリーボード
輸入のUIKit
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
var images = ["medal1","medal2","medal3","medal4","medal5","medal6","medal7","medal8","medal9","medal10","medal1","medal2","medal3","medal14"]
var texts = ["hi","yes","hoo","such","hi","yes","hoo","such","hi","yes","hoo","such","hi","yes"]
override func viewDidLoad() {
super.viewDidLoad()
collectionView.delegate = self
collectionView.dataSource = self
}
public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return images.count
}
public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CustomCell", for: indexPath) as! CustomCell
cell.myImage.image = UIImage(named: images[indexPath.row])
cell.achievementLabel.text = texts[indexPath.row]
return cell
}
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 1
}
}
import UIKit
コレクションビュー クラスCustomCellのためのクラス: UICollectionViewCellコレクション再利用可能なビューの{
@IBOutlet weak var myImage: UIImageView!
@IBOutlet weak var achievementLabel: UILabel!
}
クラス 輸入のUIKit
class CollectionReusableView: UICollectionReusableView {
@IBOutlet weak var reuseableVimage: UIImageView!
}
> import UIKit
class ViewController: UIViewController, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
var images = ["medal1","medal2","medal3","medal4","medal5","medal6","medal7","medal8","medal9","medal10","medal1","medal2","medal3","medal14"]
var texts = ["hi","yes","hoo","such","hi","yes","hoo","such","hi","yes","hoo","such","hi","yes"]
override func viewDidLoad() {
super.viewDidLoad()
collectionView.delegate = self
}
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
if kind == UICollectionElementKindSectionHeader {
let view = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "HeaderView", for: indexPath)
// do any programmatic customization, if any, here
return view
}
fatalError("Unexpected kind")
}
}
ありがとうございました。私はコードを更新しましたが、画面には何も表示されません。私はIBとアクセサリーをチェックしました。 – rebecca87
警告がないと仮定すると、ビューデバッガをチェックし、ビューがコレクションビュー内にあり、そのフレームが何であるかを確認することがあります。実際にビューがない場合は、 'UICollectionViewDataSource'メソッドにブレークポイントを設定し、それらが呼び出され、返される値を確認します。 – Rob
collectionView.dataSource = selfを設定すると、クラッシュする。 – rebecca87