Szukam przewodnika lub samouczka, który pokaże mi, jak skonfigurować prosty UICollectionView przy użyciu tylko kodu.
Brodzę po dokumentacji na stronie Apple i korzystam z podręcznika .
Ale naprawdę skorzystałbym z prostego przewodnika, który może pokazać mi, jak skonfigurować UICollectionView bez konieczności używania Storyboardów lub plików XIB / NIB - ale niestety, gdy szukam, wszystko, co mogę znaleźć, to tutoriale z Storyboard.
ios
objective-c
cocoa-touch
uicollectionview
Jimmery
źródło
źródło
Initializing a Collection View
, czy używasz stamtąd inicjalizatora?Odpowiedzi:
Plik nagłówka: -
Plik implementacyjny: -
Wynik---
źródło
@property (strong, nonatomic) UICollectionView *collectionView;
UICollectionViewCell
, naprawdę nie chcesz się rejestrowaćUICollectionViewCell
, ale raczej chcesz go podklasować, wykonaj konfigurację komórki winitWithFrame
metodzie, a następnie zarejestruj tę podklasę za pomocą identyfikatora komórki nieUICollectionViewCell
._collectionView=[[UICollectionView alloc] initWithFrame:self.view.frame collectionViewLayout:layout];
Dla użytkownika swift4: -
źródło
Dla Swift 2.0
Zamiast implementować metody wymagane do narysowania
CollectionViewCells
:Posługiwać się
UICollectionViewFlowLayout
Następnie zaimplementuj odpowiednie
UICollectionViewDataSource
metody:źródło
Szybki 3
źródło
Opierając się na odpowiedzi @ Warewolf, następnym krokiem jest utworzenie własnej niestandardowej komórki.
Idź do
File -> New -> File -> User Interface -> Empty -> Call
tej stalówki"customNib"
.W swojej
customNib
przeciągnijUICollectionView
komórki w. Daj go ponownie użyć identyfikatora komórki@"Cell"
.File -> New -> File -> Cocoa Touch Class -> Class
nazwana"CustomCollectionViewCell"
podklasa, jeśliUICollectionViewCell
.Wróć do niestandardowej stalówki, kliknij komórkę i utwórz tę niestandardową klasę
"CustomCollectionViewCell"
.Idź do swojego
viewDidLoad
viewcontroller
i zamiast[_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellIdentifier"];
mieć
UINib *nib = [UINib nibWithNibName:@"customNib" bundle:nil]; [_collectionView registerNib:nib forCellWithReuseIdentifier:@"Cell"];
Zmień także (na nowy identyfikator komórki)
UICollectionViewCell *cell=[collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
źródło
Możesz obsługiwać niestandardową komórkę w widoku uicollection, patrz poniższy kod.
źródło
Dokumenty Apple:
Ta metoda służy do inicjalizacji
UICollectionView
. tutaj podajesz ramkę iUICollectionViewLayout
obiekt.Na koniec dodaj
UICollectionView
jakosubview
do swojego widoku.Teraz widok kolekcji jest dodawany pro gramatycznie. Możesz kontynuować naukę.
Miłej nauki !! Mam nadzieję, że to ci pomoże.
źródło
The layout object to use for organizing items. The collection view stores a strong reference to the specified object. Must not be nil.
źródło
egzamin z widoku kolekcji
plik .h
źródło
Dla kogo chcesz utworzyć komórkę niestandardową :
CustomCell.h
CustomCell.m
UIViewController.h
UIViewController.m
źródło
źródło