3

したがって、各セルのレイアウトが異なるため、3 つのセルを持つコレクション ビュー コントローラーがあります。私の画像はこれを示しています:

ここに画像の説明を入力

それらはすべて異なるセル識別子を持っているため、私の cellForItemAtIndexPath 関数では、次のような特定のセルを作成できます。

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell;


    if(indexPath.row == 0)
    {
        static NSString *identifier = @"Cell1";
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier     forIndexPath:indexPath];
        [cell setNeedsLayout];
    }
    else if(indexPath.row == 1)
    {
        static NSString *identifier = @"Cell2";
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
        [cell setNeedsLayout];
    }
    else
    {
        static NSString *identifier = @"Cell3";
        cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
        [cell setNeedsLayout];
    }

    return cell;
}

しかし、それをシミュレートすると、すべてのセルが同じサイズになります。

ここに画像の説明を入力

セルを強制的に定義したサイズにする方法はありますか、またはこれを行うためのより適切な方法はありますか?

4

1 に答える 1

13

これを試してください: UICollectionView のさまざまなセル サイズのカスタム レイアウト

またはこの方法を使用します:

-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
于 2013-10-22T14:08:13.550 に答える