Swift:UICollectionViewController不显示任何单元格

时间:2016-07-21 23:08:19

标签: ios swift uicollectionview uicollectionviewcell

关于这个主题的其他问题没有对我有用,所以这里就是这个。

尽管我没有出现细胞,但我正在以编程方式呈现来自故事板中UICollectionViewController的{​​{1}}

注意:UIViewController segue只是一个按钮操作

这是@IBAction

UIViewController

然后这是@IBAction func segue(sender: AnyObject) { let collectionview = CollectionViewController(collectionViewLayout: UICollectionViewLayout()) self.presentViewController(collectionview, animated: true, completion: nil) }

UICollectionViewController

我必须遗漏一些明显的东西。提前感谢那个为我指出的人。

2 个答案:

答案 0 :(得分:8)

我发现了问题,真的有点傻。在展示新UICollectionViewController时,我将其初始化错误。我需要使用UICollectionViewLayout

时使用UICollectionViewFlowLayout
@IBAction func segue(sender: AnyObject) {
    let collectionview = CollectionViewController(collectionViewLayout: UICollectionViewFlowLayout())
    self.presentViewController(collectionview, animated: true, completion: nil)
}

答案 1 :(得分:1)

所以我对它进行了一次刺戳并让它发挥作用:

在viewDidLoad()方法中,试试这个:

    let screenSize = UIScreen.mainScreen().bounds
    let screenWidth = screenSize.width - 25

    let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
    layout.sectionInset = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
    layout.itemSize = CGSize(width: screenWidth/4, height: screenWidth/4)
    layout.minimumInteritemSpacing = 5
    layout.minimumLineSpacing = 5

    self.collectionView = UICollectionView(frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height), collectionViewLayout: layout)
    self.collectionView?.backgroundColor = UIColor.brownColor()
    self.collectionView!.registerClass(UICollectionViewCell.self, forCellWithReuseIdentifier: reuseIdentifier)

我想问题在于没有为单元格指定UICollectionViewFlowLayout。这会在每个单元格之间增加5px的间距,但如果需要,可以更改它。希望这有帮助!