Je voudrais demander comment mettre à l'échelle une image pour remplir une UIImageView
tout en conservant son rapport hauteur / largeur, tout comme le type d'échelle centerCrop
d'Android ImageView
fait.
3 Réponses :
Vous pouvez définir la vue d'image contentMode
sur UIView.ContentMode.scaleAspectFill
. C'est l'équivalent d'Android scaleType
centerCrop
Vous devez utiliser .scaleAspectFill
. Dans swift 4.2:
myImageView.contentMode = .scaleAspectFill myImageView.clipsToBounds = true // If you want to crop
.scaleAspectFill étendra l'image pour qu'elle tienne dans UIImageView. Si vous souhaitez conserver le rapport hauteur / largeur, vous devez utiliser .scaleAspectFit. Le meilleur moyen est d'essayer les deux solutions dans le code pour voir le résultat final. Si cela vous aide, merci de voter pour mon message. Je vous remercie!
Oui, vous avez raison @Rob. Je mettrai à jour ma réponse. Je vous remercie.
Voici les principaux modes de contenu de UIImageView:
Ce sont les constantes Objective-C, mais OP posait des questions sur Swift.
il peut écrire comme imageView.contentMode = .scaleAspectFill & s'il veut définir l'image comme sa qualité de pixels .scaleAspectFit sera parfait.
stackoverflow.com/questions/14134035/… < / a>
Définissez
imageView.contentMode
sur.scaleAspectFill
(ou.scaleAspectFit
).@Rob
scaleAspectFit
équivaut à AndroidcenterInside
@iffatfatima - Oui, je voulais juste partager les deux aspects préservant la mise à l'échelle de
contentMode
.