J'ai une galerie de UIImageViews (qui sont carrés) déclarés comme subviews de UIScrollView:Rotation imageView carré ScrollView
int size = self.view.frame.size.width/number;
int maxSize = [list count]; //amount of images to show in this view
imageViewArray = [[NSMutableArray alloc] init];
for (int i=0,j=1,k=0; i<maxSize; i++, j++){
UIImageView *imageView = [[UIImageView alloc] initWithImage:[list objectAtIndex:i]];
if (i % number == 0)
{
j = 1;
k++;
}
imageView.frame = CGRectMake((size*(j-1)), (size*(k-1)), size, size);
imageView.contentMode = UIViewContentModeScaleAspectFit;
[imageView setAutoresizingMask: UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth];
[imageScrollView addSubview:imageView];
imageScrollView.contentSize = CGSizeMake(size*number, size*(maxSize/number));
[imageScrollView setAutoresizesSubviews:YES];
Dans tout le mode portrait est ok. Cependant dans le paysage je veux que mes images deviennent plus grandes à la fois dans l'axe X et Y. Avec le code collé mes images obtiennent une plus grande armature seulement dans la largeur, ainsi elles sont larges et courtes. Je veux qu'ils gardent leur ratio, donc toujours carré. Une idée..? BTW: J'ai essayé de régler le masque d'atténuation à la hauteur flexible, haut et bas, mais cela rend mes UIImages encore plus courtes (je ne sais pas pourquoi).
la question est , d'où vous obtenez sizeX? un ce qui est en nombre? – Seega
@Seega Désolé, sizeX == taille, je l'ai changé lorsque copier-coller pour empiler débordement, n'a pas remarqué celui qui reste. Corrigé dans mon post déjà. Le nombre est le nombre de colonnes dans la galerie. – Vive