Ein UIViewController verwaltet einen Verweis auf eine UICollectionView. Der Controller sollte das integrierte Flusslayout mithilfe von UICollectionViewDelegateFlowLayout ändern.Wie setze ich UICollectionViewDelegateFlowLayout?
Es ist ziemlich einfach die Ansicht der Datenquelle selbst zu setzen:
MyViewController.m
- (void)viewDidLoad
{
self.collectionView.dataSource = self;
}
Aber wie kann ich den Controller einstellen der Delegat Fluss Layout der Ansicht zu sein?
- (void)viewDidLoad
{
self.collectionView.dataSource= self;
// self.collectionView.??? = self;
}
Ich habe versucht:
- (void)viewDidLoad
{
self.collectionView.dataSource= self;
self.collectionView.collectionViewLayout = self;
}
Aber ich bekomme die Fehlermeldung: "Nicht kompatible Zeigertypen zuweisen ...".
Die Sammlung Header-Datei sieht wie folgt aus:
MyViewController.h
@interface MyViewController : UIViewController <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
@JohnEstropia, tut mir leid für die Frage, aber wie benutzerdefinierte Layout im Code zu initiieren? Ich sehe Beispiele mit Storyboards, aber nicht mit Code selbst. Was soll ich machen? – gaussblurinc
wahrscheinlich, 'self.collectionViewLayout = UICollectionViewFlowLayout()', 'self.collectionViewLayout = [[UICollectionViewFlowLayout alloc]] init]' –