Według mojego doświadczenia trzeba użyć UICollectionView
metod, aby uzyskać konkretny widok kolekcja rozmiar komórek urządzenia jak na poniższych metod można uzyskać szerokość dynamiczne & wysokość widzenia zbiór komórce.
// Dynamic width & height
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
float cellSize = collectionView.frame.size.width/values.count;
return CGSizeMake(cellSize - 10, collectionView.frame.size.height);
}
//For top/bottom/left/right padding method
- (UIEdgeInsets)collectionView:(UICollectionView*)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(0, 0, 0, 1);
}
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
float width = collectionView.frame.size.width;
float spacing = [self collectionView:collectionView layout:collectionViewLayout minimumInteritemSpacingForSectionAtIndex:section];
int numberOfCells = (width + spacing)/(cellSize + spacing);
int inset = (width + spacing - numberOfCells * (cellSize + spacing))/2;
return UIEdgeInsetsMake(0, inset, 0, inset);
}
- (CGFloat)collectionView:(UICollectionView *) collectionView layout:(UICollectionViewLayout *)collectionViewLayout
minimumInteritemSpacingForSectionAtIndex:(NSInteger) section
{
return 1.0;
}
Mam nadzieję, że pomoże ci to zaprojektować komórkę w zależności od wielkości urządzenia.
używasz szybkiego? –
Musisz użyć mnożnika z superview do tworzenia komórki, niż automatycznie dostosuje się do rozmiaru ekranu. –
Tak, używam szybkiego. Zauważyłem też coś, komórki widoku kolekcji zdają się podążać za rozmiarem komórki zdefiniowanym w Inspektorze rozmiarów. Nawet jeśli programowo zmieniam rozmiar komórki za pomocą metody collectionViewLayout. –