25

カスタム UICollectionViewLayout を持つ UICollectionView があります (実際には、この素敵なレイアウトを使用しています)。

contentOffset = CGPointZeroviewDidLoadで設定しました。ただし、viewDidLoad の後、オフセットは -20 になり、コンテンツは次のようにプッシュ ダウンされます。


写真

(ラインと同じ高さにする必要があります)。インターフェイス ビルダーでコレクション ビュー レイアウトを読み込んでいます。私の問題はこれと非常によく似ているようですが、そこにある解決策はうまくいきません。

レイアウトの実装を変更collectionViewContentSizeして、常に collectionView のサイズよりも大きくなるようにしました。これは、コンテンツを下にスクロールして (collectionView の高さよりも短い)、余分なスペースを非表示にできることを意味しますが、上にスクロールして表示することもできます。

何も機能していないようです!

4

5 に答える 5

48

これが起こる理由を見つけました。この質問から受け入れられた回答を確認してください: Status bar and navigation bar appear over my view's bounds in iOS 7

実際、IB (Storyboard を使用している場合) の UIViewController のプロパティを設定edgesForExtendedLayoutするだけで問題が解決します。automaticallyAdjustsScrollViewInsetsviewDidLoad

iOS6 以前ではクラッシュが発生するため、このプロパティのチェックが利用可能であることを忘れないでください。

if ([self respondsToSelector:@selector(setAutomaticallyAdjustsScrollViewInsets:)]) {
    self.automaticallyAdjustsScrollViewInsets = NO;
}

よろしく!

于 2013-10-08T08:51:00.910 に答える