添加 UICollectionViewController 作为子 UIView 崩溃

Posted

技术标签:

【中文标题】添加 UICollectionViewController 作为子 UIView 崩溃【英文标题】:Adding a UICollectionViewController as a child UIView crashes 【发布时间】:2015-11-26 16:47:16 【问题描述】:

我正在尝试在子 UIView 中添加自定义 UICollectionViewController,但它会使我的应用程序崩溃。我的代码或我的CustomCollectionViewController 是如何实现的?

@IBOutlet weak var childView: UIView!
let myCollectionView = CustomCollectionViewController()



//inside viewDidLoad
self.addChildViewController(self.myCollectionView)
self.myCollectionView.didMoveToParentViewController(self)
self.myCollectionView.view.frame = self.childView.bounds<--crashes after executing this line
self.childView.addSubview(self.myCollectionView.view)
self.myCollectionView.delegate = self

【问题讨论】:

崩溃时是否报错? @Ollie 它在我的应用程序委托处崩溃并停止,并显示“线程 1:信号 SIGABRT” 是否也有相关的错误信息?如果不能,您可以发布堆栈跟踪,那么我们可以看到发生错误时调用了什么。我刚刚在一个演示项目中实现了您的代码,它似乎工作正常。 这不是你的 childView 没有连接到情节提要这样的傻事吗? 两个问题:childView 是否在该部分之前加载并显示?如果您将 collectionView 添加到主视图,它会起作用吗? 【参考方案1】:

这可能有点晚,但请使用布局参数初始化您的CollectionViewController

代替:

let myCollectionView = CustomCollectionViewController()

使用:

let myCollectionView = CustomCollectionViewController.init(collectionViewLayout: UICollectionViewFlowLayout())

这对我有用。

【讨论】:

以上是关于添加 UICollectionViewController 作为子 UIView 崩溃的主要内容,如果未能解决你的问题,请参考以下文章

如何像 iPhone 照片应用程序那样防止自动旋转?

jQuery添加插入元素技巧:

Vue 数组添加数组元素和添加单个元素

ASP在线添加字段

arcgis中如何添加图像数据?

C# 动态添加类动态添加类型代码添加类型