Sto provando a disegnare alcune immagini in miniatura a dimensioni fisse (100x100) utilizzando UIImageView
. Ho impostato la dimensione del fotogramma della mia vista immagine su 100x100 e ho impostato contentMode
su UIViewContentModeScaleAspectFill
.
La mia comprensione è che ciò dovrebbe far sì che l'immagine venga disegnata alla dimensione impostata, e l'immagine riempirà l'area dell'immagine e ritaglierà qualsiasi parte dell'immagine al di fuori delle dimensioni impostate per la visualizzazione dell'immagine. Tuttavia, l'immagine viene comunque disegnata più grande o più piccola della dimensione 100x100 che ho impostato per esso.
Se ho impostato il contentMode
a UIviewContentModeScaleToFill
, l'immagine viene disegnata esattamente a 100x100, ma è distorta per adattarsi a quelle dimensioni. Qualche idea sul perché il riempimento dell'aspetto non si stacchi come previsto?
Ecco il mio codice:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Per illustrare meglio, ecco uno screenshot di quello che sto vedendo. I quadrati verdi sono i UIView
contenuti con UIImageView
cui sto lavorando. Ho impostato il colore di sfondo su verde e la cornice della vista su 100x100. Come test, UIImageViews
sono dimensionati su 50x50. Come puoi vedere, quando si utilizza il ...AspectFill
, le immagini non hanno dimensioni di 50x50 e in alcuni casi sono sfalsate rispetto a quelle che vorrei. Quando vengono utilizzati ...ScaleToFill
, sono dimensionati correttamente, ma l'immagine è distorta.