swiftで1つのcollectionViewに2つのcollectionViewCellを表示させる方法
プログラム初心者です。
1つのコレクションビューに2つのコレクションビューセルを表示させるため、プログラムを書いたのですが、2つ目のセルが表示されません。
どなたか解決法をご教示いただけないでしょうか。
2種類のカスタムセルはサブクラス化し、別々のファイルで作成しました。
以下、ViewController.swiftのコードです。
// ViewController.swift
import UIKit
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
var collectionView: UICollectionView?
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nil, bundle: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
self.setupSubviews()
self.autolayoutSubviews()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
func setupSubviews() {
let flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
flowLayout.minimumInteritemSpacing = 10.0
flowLayout.minimumLineSpacing = 10.0
flowLayout.sectionInset = UIEdgeInsets(top: 10.0, left: 10.0, bottom: 10.0, right: 10.0)
flowLayout.itemSize = CGSizeMake(300.0, 100.0)
self.collectionView = UICollectionView(frame: CGRectZero, collectionViewLayout: flowLayout)
self.collectionView!.translatesAutoresizingMaskIntoConstraints = false
self.collectionView!.dataSource = self
self.collectionView!.delegate = self
self.collectionView!.registerClass(Cell1.self, forCellWithReuseIdentifier: "Cell1")
self.collectionView!.registerClass(Cell2.self, forCellWithReuseIdentifier: "Cell2")
self.collectionView!.backgroundColor = UIColor.whiteColor()
self.view.addSubview(self.collectionView!)
}
func autolayoutSubviews() {
self.collectionView!.topAnchor.constraintEqualToAnchor(self.view.topAnchor).active = true
self.collectionView!.leadingAnchor.constraintEqualToAnchor(self.view.leadingAnchor).active = true
self.collectionView!.trailingAnchor.constraintEqualToAnchor(self.view.trailingAnchor).active = true
self.collectionView!.bottomAnchor.constraintEqualToAnchor(self.view.bottomAnchor).active = true
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 2
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell1: UICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell1", forIndexPath: indexPath) as! Cell1
cell1.backgroundColor = UIColor.grayColor()
return cell1
let cell2: UICollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell2", forIndexPath: indexPath) as! Cell2
//cell2.backgroundColor = UIColor.brownColor()
//return cell2
}
}
よろしくお願い致します。