断言失败 - 带有自动布局和自定义 UICollectionViewFlowLayout 的 UITableViewCell 内的 CollectionView

Posted

技术标签:

【中文标题】断言失败 - 带有自动布局和自定义 UICollectionViewFlowLayout 的 UITableViewCell 内的 CollectionView【英文标题】:Assertion Failure - CollectionView inside UITableViewCell with Auto-Layout and custom UICollectionViewFlowLayout 【发布时间】:2014-07-16 01:12:11 【问题描述】:

我有一个相当复杂的视图布局:

ViewController
- TableViewController inside ContainerView (as child view controller)
  - TableViewCell which holds UICollectionView with subclassed (custom) FlowLayout

当尝试通过我的子类 FlowLayout 添加 UICollectionElementKindSectionHeader 补充视图时,我收到以下错误:

*** Assertion failure in -[MyCollectionView _createPreparedSupplementaryViewForElementOfKind:atIndexPath:withLayoutAttributes:applyAttributes:], /SourceCache/UIKit_Sim/UIKit-2935.137/UICollectionView.m:1305

这里提出的尝试过的解决方案:UICollectionView + ios 7 / Xcode 5 = Assertion Failure 但没有任何运气。我正在为我的 TableViewCells 使用动态自动布局高度,我想知道是否可以这样做...

任何人有想法或可以指出正确的方向来解决问题吗?谢谢!

【问题讨论】:

我找到了这个 [solutions][1] [1]: ***.com/questions/33253109/… ,现在可以正常使用了 【参考方案1】:

呃.. 我找出了导致我的代码中出现 Assertion Failure 的原因。由于我在 TableViewCells 中复杂地嵌套了 CollectionViews,因此在访问其布局之前我没有设置 CollectionView 的 dataSource 属性...

【讨论】:

以上是关于断言失败 - 带有自动布局和自定义 UICollectionViewFlowLayout 的 UITableViewCell 内的 CollectionView的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ListFragment 中使用 setEmptyView() 和自定义列表布局

如何为自定义 XCTest 断言编写自动化测试?

自动化断言失败后,测试用例还会继续执行吗

Android:带有自定义标题的圆角TextView XML布局

带有 endItemAnimations 的 UICollectionView 中的断言失败

带有补充视图/节标题的 UICollectionView 中的断言失败,dataSource 为 nil?