Swift UIImageView Aspect tendu
UIImageView rend la taille d'une image incorrecte. À l'aide de l'Échelle Aspect Ajustement, si le UIImageView est un carré de l'image est le rapport d'aspect correct avec de la transparence dans les domaines de l'image ne remplit pas.
//Image is Square & Correct Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 320))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit
//Image is Rectangle & Incorrect Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 450))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit
La UIImageView a besoin de toucher les bords et transparents, d'espace en haut et en bas de l'écran et de l'image à l'intérieur doit garder son rapport original plutôt que d'étirer plus grand. J'ai joint deux images de la façon dont l'image à l'intérieur de la UIImageView est rendu.
source d'informationauteur George Grover
Vous devez vous connecter pour publier un commentaire.
J'ai ajouté un d'un redimensionnement automatique de masque à la UIImageView et il affiche maintenant les proportions correctes.
Cette réponse m'a aidé: Photo capturée est tendu avec AVCaptureSession sessionPreset = AVCaptureSessionPresetPhoto que j'ai été en utilisant une image qui a été prise par les téléphones appareil photo.
Swift 3 version de votre code:
J'ai eu le même problème, et ce qu'il fixe pour moi a été de s'assurer à l'ensemble de l'imageView image après le mode de contenu a été défini. c'est à dire:
Acclamations
C'est le but de comportement pour
UIViewContentMode.ScaleAspectFit
. À partir de la documentation:Il semble d'après ce que vous décrivez que vous avez besoin
UIViewContentMode.ScaleAspectFill
Il est une excellente solution ici: par olearyj234 .
et il m'a beaucoup aidé. Je suggère de prendre un coup d'oeil. Aussi, voici son code swift 4 et Xcode 9.2:
Dans Swift 4.1 et Xcode 9.3 vous pouvez utiliser:
espère que cela aide