2013-07-24 16 views
11

Mam UICollectionView jest używany inaczej w zależności od orientacji urządzenia. Obraz opisuje, co mam i czego potrzebuję.UICollectionView specjalny przepływ poziomy - wiele sekcji

Czy można uzyskać "przewijanie w poziomie, gdy jest to potrzebne" z domyślnym tworzeniem scenariuszy lub czy muszę wprowadzić customflowlayout (Guide appreciated) lub wiele kolekcji views?

Collection flow layout

Odpowiedz

4

I rozwiązać go za pomocą DateFlowLayout. Dziwna nazwa, ale działa, z pewnymi konfiguracjami.

To był mój setup wam to (ja tylko używali go do kierunku poziomym):

- (void)layoutForOrientation:(UIInterfaceOrientation)orientation { 
    bool isPortrait = UIInterfaceOrientationIsPortrait(orientation); 

    self.collectionView.frame = isPortrait ? CGRectMake(0, 0, 768, 180) : CGRectMake(0, 60, 246, 595); 
    self.collectionView.collectionViewLayout = isPortrait ? DateFlowLayout.new : UICollectionViewFlowLayout.new; 
    self.flowLayout = ((UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout); 

    self.flowLayout.scrollDirection = isPortrait ? UICollectionViewScrollDirectionHorizontal : UICollectionViewScrollDirectionVertical; 
    self.flowLayout.headerReferenceSize = isPortrait ? CGSizeMake(5, 30) : CGSizeMake(246, 40); //width is margin to the left of the header - must be bigger than 0 to show headers correct. 
    self.flowLayout.minimumInteritemSpacing = isPortrait ? 10 : 0; 
    self.flowLayout.minimumLineSpacing = isPortrait ? 17 : 7; 
    self.flowLayout.sectionInset = isPortrait ? UIEdgeInsetsMake(27, 30, 25, 0) : UIEdgeInsetsMake(0, 14, 0, 0); 
    //self.flowLayout.itemSize = CGSizeMake(58, 85); //You might need this 
    self.collectionView.alwaysBounceVertical = isPortrait ? NO : YES; 
} 
+2

Hej Morten, wiem, że to było trochę czasu, ale jakieś pomysły dlaczego moja główka wystaje ale nie na górze mój widok kolekcji, raczej przed nim, umieszczony w połowie (wysokość). Dzięki! –

+0

Nie mogę powiedzieć bez dodatkowych informacji - dla mnie był to test i błąd .. –

+0

wystarczająco fair. Zrobię jeszcze więcej tego! przynajmniej wiem, że to możliwe :) –

Powiązane problemy