3

layout.headerReferenceSize を設定すると、次のようになります

Assertion failure in -[HLEventCollectionView _createPreparedSupplementaryViewForElementOfKind:atIndexPath:withLayoutAttributes:],

クラッシュは、dataSource が設定される前でも発生します。collectionView は、フレームが viewControllers の境界に設定されています。flowLayout には、headerReferenceSize 以外のプロパティは設定されていません。

コードサンプル:

- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
flowLayout.headerReferenceSize = CGSizeMake(0.0f, 30.0f);

UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:self.view.bounds collectionViewLayout:flowLayout];
[self.view addSubview:collectionView];

}

dataSource を設定するかどうかに関係なく発生します。

4

0 に答える 0