我正在尝试让UICollectionViewController显示一个单元格网格(我稍后会添加文本,如果可能的话可能是textViews)。我有:
class GridViewController : UICollectionViewController{
//(NOW GONE) @IBOutlet weak var gridViewTable = UICollectionViewController()
let arr1 : [String] = []
let arr2 : [String] = []
override func viewDidLoad(){
super.viewDidLoad()
self.collectionView!.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "gridCell")
}
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return 4
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell{
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "gridCell", for: indexPath as IndexPath)
cell.backgroundColor = UIColor.red
return cell
}
}
我使用界面构建器连接白色,其中单元格将转到gridViewTable。什么都没有出现,即使它运行和编译。我怎样才能显示细胞?
答案 0 :(得分:1)
请使用以下代码:
override func numberOfSections(in collectionView: UICollectionView) -> Int {
return 4
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 10
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "gridCell", for: indexPath as IndexPath)
cell.backgroundColor = UIColor.red
return cell
}
答案 1 :(得分:0)
你不需要UICollectionViewController
的出口,班级本身就会照顾它。
此外,请确保Interface Builder中的视图控制器类在Identity Inspector中设置为GridViewController
(最右侧窗格左侧的第3个选项卡)。