3

UICollectionViewFlowLayoutセルの並べ替えを可能にするカスタム サブクラスを使用しています。ソースコードはこちら

私が直面している問題は、コレクション ビュー用に作成した nib ファイルを登録して正しい識別子を使用しているにもかかわらず、読み込まれないことです。関連するコード スニペットを次に示します。

これはView Controller.mファイルにあります:

- (void)loadView
{
    self.reorderLayout = [[LXReorderableCollectionViewFlowLayout alloc] init];

    self.collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero
                                             collectionViewLayout:self.reorderLayout];

    UINib *nib = [UINib nibWithNibName:@"CatagoryViewCell" bundle:nil];
    [self.collectionView registerNib:nib forCellWithReuseIdentifier:@"CatagoryViewCellID"];

    self.collectionView.dataSource = self;
    self.collectionView.delegate = self;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    Catagory *c = [[[CatagoryStore defaultStore] allCatagories]
                   objectAtIndex:[indexPath item]];

    CatagoryViewCell *cell = (CatagoryViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"CatagoryViewCellID" forIndexPath:indexPath];

    [cell setController:self];

    [[cell nameLabel] setText:c.title];
    return cell;
}

これらは、私がペン先を参照する唯一の2つの場所です.

セルニブは次のとおりです。 ここに画像の説明を入力

これは、シミュレータとデバイスでどのように見えるかです:

ここに画像の説明を入力

同様のコードと元のUICollectionViewFlowLayoutクラスを使用してみましたが、正常に動作します。どんな洞察も大歓迎です!

4

1 に答える 1