Oto, co zrobiłem. Najpierw ustawiłem rozmiar komórki na podstawie rozmiaru ekranu (abyśmy mogli uzyskać najlepszą liczbę obrazów w każdym wierszu). Możesz zmienić liczby w zależności od przyczyny.
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
CGFloat widthOfCell =(self.view.frame.size.width-30)/2;
CGFloat heightOfCell =widthOfCell * 1.33;
CGSize returnValue = CGSizeMake(widthOfCell, heightOfCell);
returnValue.height += 5;
returnValue.width += 5;
return returnValue;
}
I następnie wykorzystywane metody manipulacji obrazu w celu określenia poziomą lub pionową stanu, oraz (dla mojej aplikacji) postanowiłem zrobić każdy obraz portret:
if (sourceImage.size.width>sourceImage.size.height) {
sourceImage = [[UIImage alloc] initWithCGImage: sourceImage.CGImage
scale: 1.0
orientation: UIImageOrientationRight];
}
Jeśli chcesz go mieć w drugą stronę zamień z z <
CAVEAT: moja metoda obracania nie bierze pod uwagę, jeśli obraz jest skierowany w lewo lub w prawo. Innymi słowy, jeśli obraz jest krajobrazem do góry nogami, mój kod nie może tego rozpoznać. Mam nadzieję, że ktoś inny może ci pomóc, i mam nadzieję, że nie poszedłem na marne! :)
You można sprawdzić https://github.com/bryceredd/RFQuiltLayout. Wygląda na coś, co możesz wykorzystać do tego – Rajneesh071