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
クラスを使用してみましたが、正常に動作します。どんな洞察も大歓迎です!