0

以下のスクリーンショットに示すように、いくつかのセルを持つUICollectionViewがあります。現在、デバイスの向きは縦向きです。

ここに画像の説明を入力してください

次のコードがあるので、各列には19個ものセルがあります。

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section;
{
    return UIEdgeInsetsMake(0, 100, 0, 100);
}

向きを横向きに変更すると、各列のセルの数が変わります。デバイスの向きに関係なく、同じ数の列を持つことは可能ですか?

ご協力ありがとうございました。

4

1 に答える 1

0

あなたが取ることができるいくつかのアプローチがあります。IBのコレクションビューに幅の制約を追加するだけで済みます(側面に単一の制約があるか、幅方向に単一の中央揃えの制約があることを確認してください)。

別のアプローチは、向きに基づいてインセットを変更することです。didRotateFromInterfaceOrientation:をオーバーライドし、interfaceOrientationプロパティを調べて、現在の方向を判別してから、インセットを適切に設定します。

于 2012-12-06T17:35:01.520 に答える