J'ai un UIImageView avec une taille de rect fixe. Mais mes images ne sont pas de taille fixe. Je souhaite afficher des images en fonction de la taille exacte de UIImageView. Que l'image soit grande ou grande en résolution, elle doit être en affichage fixe en fonction de la taille de UIImageView. Je suis confus en utilisant les actifs ci-dessous.
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw
Que définir dans le masque de taille automatique? Comment se comportent-ils?
S'il vous plaît essayez ce code, j'espère que cela fonctionnera pour vous.
définir UIImageView
contentMode
sur UIViewContentModeScaleAspectFill
comme ci-dessous:
imageView.contentMode = UIViewContentModeScaleAspectFill;
définissez autoresizingMask of UIImageView comme suit:
imageView.autoresizingMask =
( UIViewAutoresizingFlexibleBottomMargin
| UIViewAutoresizingFlexibleHeight
| UIViewAutoresizingFlexibleLeftMargin
| UIViewAutoresizingFlexibleRightMargin
| UIViewAutoresizingFlexibleTopMargin
| UIViewAutoresizingFlexibleWidth );
Vous avez juste besoin de ces deux lignes:
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.layer.clipsToBounds = YES; // Must do this or else image will overflow
Dans Swift vous définissez également le mode contenu
var newImgThumb : UIImageView
newImgThumb = UIImageView(frame:CGRectMake(0, 0, 100, 70))
newImgThumb.contentMode = .ScaleAspectFit
Voici une solution pour Swift:
let imageView = UIImageView(image: UIImage(named: "backgroundImage"))
imageView.frame = tableView.frame
imageView.contentMode = .ScaleAspectFill
tableView.backgroundView = imageView
Si vous voulez que votre taille UIImageView
corresponde à un ratio, vous devez définir son mode sur UIViewContentModeScaleAspectFit
yourimage.contentMode=UIViewContentModeScaleAspectFit;
laissez-moi savoir que ça marche ou pas !!!
Bonne codage.
Il est à noter que Swift 3 a changé comme suit
.ScaleAspectFit
à scaleAspectFit
.ScaleAspectFill
à .scaleAspectFill
J'espère que cela vous aidera
CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
image = [UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);