Ich habe einen UIViewController, der eine UICollectionView enthält. Aber die UICollectionView füllt nicht alle UIViewController.
Ich finde, dass es Raum gibt, dessen Höhe der Höhe der Navigationsleiste zwischen der Zelle und der oberen Kante der UICollectionView entspricht. Ich weiß nicht, wie ich die Zellenposition auf (0,0) in der UICollectionView setzen kann. (So ist der Raum im roten Rechteck)
Ich fand diesen Link Wie geht es mir? Setzen Sie die Position eines UICollectionViewCell? Und ich Unterklasse UICollectionViewFlowLayout (das Folgende sind mein Code)
MZMCollectionViewFlowLayout.h
%Vor%MZMCollectionViewFlowLayout.m
%Vor%und benutze es so:
%Vor%Aber es funktioniert nicht. Das Protokoll NSLog (@ "MZMCollectionViewFlowLayout layoutAttributesForItemAtIndexPath"); wird nicht angezeigt. Und der Rohling ist immer noch da.
Danke für jede Hilfe!
Beantworte mich selbst.
Ich habe jede UICollectionViewLayoutAttribute-Information in layoutAttributesForElementsInRect gedruckt: und festgestellt, dass ich die frame.orgin.y
ändern mussfolgt mein Code:
%Vor%dann funktioniert es gut.
Zu Ihrer Information, dies wird hier richtig beantwortet: UICollectionView fügt den oberen Rand hinzu
Das Problem besteht darin, dass der Ansichts-Controller die Bildlaufeinfügungen automatisch anpasst. Dies kann entweder im Code oder IB ausgeschaltet werden. Im Code einfach gesetzt:
%Vor%Tags und Links ios uicollectionview uicollectionviewlayout