XLPagerTabStrip 内的 Collectionview
Posted
技术标签:
【中文标题】XLPagerTabStrip 内的 Collectionview【英文标题】:Collectionview inside XLPagerTabStrip 【发布时间】:2016-05-23 06:40:07 【问题描述】:我有一个可以运行的 CollectionView,还有一个 XLPagerTabStrip 也可以运行,但是当我在 IndicatorInfoProvider 中的 XLPagerTabStrip 中集成我的 CollectionView 时,我遇到了这个错误...
谢谢!
【问题讨论】:
【参考方案1】:我遇到了类似的问题。看起来当您使用情节提要时,您不能简单地创建控制器的新实例并添加到页面列表中。如果您按如下方式创建子视图,则不会显示任何内容。
let child1 = new ChildViewController()
由于控制器上的所有视图在您尝试访问它们时都为零,因此会引发您在问题中提到的异常。
相反,您必须通过情节提要来创建它:
let child1 = storyboard!.instantiateViewControllerWithIdentifier("childViewIdentifier") as! ChildViewController
我在他们的 GitHub 存储库的一个问题中发现了这一点: https://github.com/xmartlabs/XLPagerTabStrip/issues/123
我认为它也应该在主要文档中提及。由于他们的示例项目没有使用 IB 来设计视图,因此也没有使用 instantiateViewControllerWithIdentifier,所以不是很明显。
无论如何,它解决了我的问题。希望它也对你有用。
【讨论】:
完美,它运行。我还在我实例化的控制器中初始化了我的编码器-> super.init(coder: aDecoder) @kike0kike 你应该选择这个答案为正确的! 非常感谢。这确实应该在文档中。我在这上面浪费了几个小时。【参考方案2】:在你的类声明委托UICollectionView
。
类似:
class ViewController: UIViewController, UICollectionViewDelegate ...
【讨论】:
当然可以:class RecipeViewController : UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, IndicatorInfoProvider
。如果我在没有 XLPagerTabStrip 的情况下使用这个 collectionView,它可以正常工作。【参考方案3】:
当你不使用故事板时,你可以这样实例化你的类:
let child = ChildViewController(nibName: "ChildViewController", bundle: nil)
【讨论】:
以上是关于XLPagerTabStrip 内的 Collectionview的主要内容,如果未能解决你的问题,请参考以下文章