31

Obecnie mam widok kolekcji, który zajmuje większość mojego ekranu przy rozmiarze ekranu 3,5 cala. Widok kolekcji to 51 pikseli od góry i 20 pikseli od dołu ekranu. Używam komórek z UIPageControl do utworzenia układu stronicowanego, z jedną komórką na stronę. Po przełączeniu na 4-calowy rozmiar, używając wiązań, mogę uzyskać widok kolekcji, aby rozwinąć się w nową przestrzeń (zachowując 51 pikseli od góry i 20 od dołu), ale rozmiar komórki pozostaje taki sam, więc teraz jest kilka pustej przestrzeni u góry iu dołu komórki. Próbowałem używać ograniczeń, ale wygląda na to, że nie można ich ustawić dla komórek. Jak zwiększyć rozmiar komórki, aby wypełnić puste miejsce na iPhone 5?Widok UICollection Dopasuj rozmiar komórki do rozmiaru ekranu

Kolekcja kod widok jest po prostu

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView 
       cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
MyCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; 
return cell; 

} 

Układ jest ustawiony w IB Chcę dostać układ roboczy zanim dodam więcej

iPhone 5 view. I want to fill the empty space

iPhone 4 view

+1

można plz umieścić fragment kodu, które zostały wykorzystane? – Swapnil

+1

@SSwap to nic wielkiego Po prostu stworzyłem podstawowy widok kolekcji z ustawieniami układu w programie budującym interfejs. Widok kolekcji działa dobrze, po prostu muszę wymyślić, jak sprawić, by komórka zajęła puste miejsce na iPhone 5 – benjih555

Odpowiedz

71

ty może użyć właściwości UICollectionViewFlowLayout method itemSize, aby ustawić wartość UICollectionViewCell lub użyj metody delegate, collectionView:layout:sizeForItemAtIndexPath:, jeśli chcesz dynamicznie ustawiać rozmiary UICollectionViewCells.

+2

@rdelmar Jakie są plusy i minusy dwóch metod, które podałeś? – Sanne

+7

@Sanne, itemSize ustawia domyślny rozmiar komórek i jest w porządku, jeśli chcesz, aby wszystkie komórki miały ten sam rozmiar. Użyj metody delegatów, jeśli chcesz zwrócić różne rozmiary elementów na poszczególnych ścieżkach indeksu. – rdelmar

7
CollectionView layout Delegate that will help you to resize your Cell as you need. 
- (CGSize)collectionView:(UICollectionView *)collectionView 
          layout:(UICollectionViewLayout*)collectionViewLayout 
      sizeForItemAtIndexPath:(NSIndexPath *)indexPath; 
+2

nie będzie źle powiedzieć, jaki jest interes z twoim kodem! –

+6

Plakat zapytał: * "Jak zwiększyć rozmiar komórki, aby wypełnić puste miejsce" *. Zrobił * nie * poprosił o nazwę funkcji. Jeśli zamierzasz podać nazwę funkcji jednoliniowej bez wyjaśnienia, jak jej używać, powinieneś prawdopodobnie dodać ją jako komentarz do pierwotnego pytania. – jww

+4

to jest prosty delegat, co jeszcze wymaga wyjaśnienia? i Pytanie :: Widok UICollection Dostosuj rozmiar komórki do rozmiaru ekranu. więc myślę, że ta odpowiedź ma wystarczająco dużo wyjaśnień?亚历山大 Powiedz mi, jak mógłbym to wyjaśnić? –