UICollectionViewDataSource と UICollectionViewDelegate を委任する UICollectionViewController があります。私のコレクション ビューには、複数行のデータを含む 2 つのセクションが表示され、正常に動作します。
SWOHighScoreHeader クラスで UICollectionReusableView をサブクラス化するセクション ヘッダー (IB Attributes Inspector -> Accessories 内) を作成しました。
@interface SWOHighScoreHeader : UICollectionReusableView
@property (strong, nonatomic) IBOutlet UILabel *hiScoreHead;
@end
このクラス (SWOHighScoreHeader) を IB の UICollectionReusableView のカスタム クラスとして設定します。
UICollectionViewController では、次のメソッドを使用します。
-(UICollectionReusableView*)collectionView:(UICollectionView*)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath{
SWOHighScoreHeader *highScoreHeaderView = nil;
if ([kind isEqual:UICollectionElementKindSectionHeader]) {
highScoreHeaderView = [collectionView dequeueReusableSupplementaryViewOfKind:kind
withReuseIdentifier:@"highScoreTableHead"
forIndexPath:indexPath];
}
return highScoreHeaderView;
}
識別子highScoreTableHeadは、IB で UICollectionReusableView Collection Reusable View Identifier として設定されます。
この段階では、デフォルトのラベル テキストが表示されますが、セクション ヘッダーは正しく表示されます。
IBOutlet UILabel hiScoreHeadプロパティを IB のアウトレットに接続すると、問題が発生します。これを行うと、プログラムは次のようにクラッシュします。
Interface Builder ファイル内の不明なクラス SWOHighScoreHeader。
** * キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。理由: '[ setValue:forUndefinedKey:]: このクラスは、キー submitButton のキー値コーディングに準拠していません。
コンセント接続を削除して再接続しようとしましたが、まだ何もしません。私が間違っているアイデアはありますか?