【问题标题】:UICollectionView Initializing ProblemsUICollectionView 初始化问题
【发布时间】:2016-10-23 05:21:36
【问题描述】:

我正在尝试将集合视图添加到容器视图(在 uiviewcontroller 中,我已经设置了所有继承集)并且无论出于何种原因,即使我使用 Flowlayout 初始化了我的集合,我仍然收到一条错误消息:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“UICollectionView 必须是 使用非 nil 布局参数初始化 (lldb)

我的代码:

let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
layout.itemSize = CGSize(width: 90, height: (containerTwo?.frame.height)!)
collectionView = UICollectionView(frame: (self.containerTwo?.frame)!, collectionViewLayout: layout)
collectionView.dataSource = self
collectionView.delegate = self
collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "CollectionViewCell")
collectionView.backgroundColor = UIColor.red
self.containerTwo?.addSubview(collectionView)

不知道从这里到哪里去。帮忙?!

【问题讨论】:

  • 我的收藏视图代码中没有看到任何重复
  • 你确定你没有在其他地方创建一个额外的 uicollectionview - 也许是故事板?
  • 我可以发布整个代码。我什么都没看到。我没有使用情节提要,我正在以编程方式对我的所有视图进行编码
  • 是的,你能把你的代码上传到 github 上吗?

标签: ios swift uiviewcontroller uicollectionview uicollectionviewcell


【解决方案1】:

试试这个代码:

注意:未经测试的代码

您在注册 nibFile 时遇到问题。试试这个..

 var nibName = UINib(nibName: "nibCellName", bundle:nil)
 collectionView.registerNib(nibName, forCellWithReuseIdentifier: " your cell identifier")

这应该可以解决您的问题..因为您可能需要验证您的 collectionView 布局。我猜。

    layout.invalidate()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-25
    • 2011-10-13
    • 2011-10-29
    • 2020-10-17
    • 2020-09-24
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多