Ich erstellte eine benutzerdefinierte Unterklasse von UICollectionViewCell
zusammen mit einem Xib, die eine Größe für die Zelle (60 Punkte von 60 Punkten) definiert.Wie UICollectionViewCell Größe programmgesteuert ändern (mit Xib)
I implementiert auch die folgenden:
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout *)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGSize size = [MainScreen screen];
CGFloat width = size.width;
CGFloat item = (width*60)/320;
return CGSizeMake(item, item);
}
Das Problem, das ich in laufende bin ist, dass jedes Mal, wenn ich mein Programm laufen, immer die Zellen in meinem UICollectionView
Controller als 60x60 Zellen erscheinen. Außerdem habe ich auf einem iPhone 6s getestet, was 375x667 Punkte (also, die Mathematik sollte die Zellen ~ 70x70 nicht 60x60 sein).
Wie programmiere ich programmgesteuert die Größe der Zelle (oder überschreibe die vordefinierte Xib-Größe)?
Haben Sie sichergestellt, dass Ihr View-Controller als UICollectionViewDelegateFlowLayout-Delegat festgelegt ist? – JiuJitsuCoder
Ja, und damit nehme ich an, du meinst Folgendes: '[self.collectionView setCollectionViewLayout: flowLayout];', '[self.collectionView setDelegate: self];' –
Eigentlich nehme ich das zurück ... die Ansicht Der Controller wird in der Header-Datei auf "UICollectionViewDelegateFlowLayout" gesetzt. –