集合视图的第一个单元格始终为空

时间:2017-06-06 07:39:08

标签: ios swift uicollectionview

我在Viewcontroller中有一个自定义的Collection视图,每当我的Collection View加载时,我的第一个单元格都是空的。如何删除这个空单元格。

enter image description here

//CollectionView functions
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

    return collectionData.count
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! collectionCell

    let collectionData = self.collectionData[indexPath.row]


    cell.NameLbl.text       = collectionData["name"] as? String



    return cell

}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    let Info: NSDictionary = self.collectionData[indexPath.item] as! NSDictionary


    let vc = self.storyboard?.instantiateViewController(withIdentifier: "edit") as! editVC
    self.navigationController?.pushViewController(vc, animated: false)



}

1 个答案:

答案 0 :(得分:0)

取决于你应该处理隐藏第一个元素的情况,你可能想要实现两个选项:

1 - 如果可以从数据源(collectionData数组)中删除第一个对象,那么您只需从中删除第一个元素:

在您的视图控制器(viewDidLoad())中,您可以实现:

override func viewDidLoad() {
    .
    .
    .

    collectionData.remove(at: 0)

    .
    .
    .
}

2 - 如果您需要保留collectionData而不删除第一个元素,但不应该在UI中显示,则需要实现{{ 1}}如下:

UICollectionViewDataSource

这应该导致在不编辑func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { // subtract 1 return collectionData.count - 1 } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! collectionCell // add 1 to indexPath.row let collectionData = self.collectionData[indexPath.row + 1] cell.NameLbl.text = collectionData["name"] as? String return cell } 数据源数组的情况下按预期显示集合视图。