補足ヘッダー ビューを実装すると、次のエラーが発生します。
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'no UICollectionViewLayoutAttributes instance for -layoutAttributesForSupplementaryElementOfKind: HeaderView at path <NSIndexPath: 0x9e82a40> {length = 2, path = 0 - 0}'
これはヘッダービューを作成しているコードです
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
static NSString * headerIdentifier = @"HeaderView";
UICollectionReusableView *header = [collectionView dequeueReusableSupplementaryViewOfKind:headerIdentifier withReuseIdentifier:UICollectionElementKindSectionHeader forIndexPath:indexPath];
return header;
}
エラーは dequeueReusableSupplementaryViewOfKind メソッドで発生します。
Collection View Controller の initWithCoder にこれらの 2 行を追加しました。
UINib *headerNib = [UINib nibWithNibName:@"MTCollectionHeaderView" bundle:nil];
[self.collectionView registerNib:headerNib forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"HeaderView"];
そのため、UI 要素への参照があります。とにかく、ヘッダーにレイアウトを設定する方法が見つかりません。
これを同じ Collection View Controller に追加しようとしましたが、デバッガーを配置して確認したため、このコードにはヒットしませんでした
- (UICollectionViewLayoutAttributes *)layoutAttributesForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
return [self.collectionViewLayout layoutAttributesForDecorationViewOfKind:kind atIndexPath:indexPath];
}
誰かがこの問題を見たことがありますか?どのように解決しましたか? また、XCode 5 Developer Preview 5 を使用し、iOS7 向けに開発しています。