プログラムでUICollectionViewを作成しようとしています。これは私が持っているもので、これまでCollectionViewのセルが表示されません
私もUICollectionViewControllerが含まれている、UICollectionViewDelegateFlowLayout
override func viewDidLoad() {
super.viewDidLoad()
self.collectionView!.backgroundColor = UIColor(red: 153/255, green: 204/255, blue: 153/255, alpha: 1)
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false
self.collectionView!.alwaysBounceVertical = true
// Register cell classes
self.collectionView!.register(threadCell.self, forCellWithReuseIdentifier: reuseIdentifier)
// Do any additional setup after loading the view.
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of items
return 3
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath)
// Configure the cell
return cell
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: view.frame.height, height: 50)
}
class threadCell: UICollectionViewCell{
override init(frame: CGRect){
super.init(frame: frame)
setupViews()
}
let userName: UILabel = {
let name = UILabel()
name.text = "testing"
name.font = UIFont.boldSystemFont(ofSize: 14)
name.translatesAutoresizingMaskIntoConstraints = false
return name
}()
required init?(coder aDecoder: NSCoder) {
fatalError()
}
func setupViews(){
backgroundColor = UIColor.blue
addSubview(userName)
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0" : userName]))
addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0" : userName]))
}
}
アプリがクラッシュしたり、任意の表示されません テストラベルで3つのセルごとに表示される必要があり、結果エラーは表示されませんが、セルは表示されません。
あなたは、デリゲートとデータソースを設定しましたか?コレクションビューの背景色が見えますか?デリゲートメソッドが呼び出されますか? – Yitzchak
カスタムセルを使用していません。少なくとも、Interface Builderでセルの名前をカスタムセルに設定し、デキューされたセルをカスタムセルにキャストする必要があります。クラス名と構造体名が大文字で始まると考えてください。 – vadian
コレクションビューをviewcotrollerに追加した方法 – Vinodh