Comment resize une image correctement avec une largeur fixe et une layout automatique?

J'ai un UIImage dynamic et un UIImageView avec la largeur fixe de 280.0px et j'utilise la disposition automatique. Dans la vue UIImage, j'ai défini des contraintes de largeur et de hauteur et réduit la priorité de la contrainte de hauteur. J'ai sélectionné "aspect fit", et élevé la priorité d'étreinte et de compression de contenu à 1000. Dans ce cas, le UIImageView est redimensionné pour maintenir le ratio, mais la hauteur est plus grande que je le veux. Le format d'image est préservé car il y a des espaces vides en haut et en bas de l'UIImageView. Je voudrais supprimer ces espaces et resize automatiquement la hauteur pour s'adapter parfaitement à l'UIImage.

Quelque chose comme ça…

UIImage *image = ...; UIImageView *imageView = ...; imageView.image = image; float ar = image.size.width/image.size.height; NSLayoutConstraint* aspectConstraint = [NSLayoutConstraint constraintWithItem: imageView atsortingbute: NSLayoutAtsortingbuteWidth relatedBy: NSLayoutRelationEqual toItem: imageView atsortingbute: NSLayoutAtsortingbuteHeight multiplier: ar constant: 0]; [parentView addConstraint: aspectConstraint]; 

J'ai résolu comme suit:

 -(CGFloat) scaleImageAutoLayout:(UIImageView *)imageView withWidth:(CGFloat)width { CGFloat scale = width/imageView.image.size.width; CGFloat height = imageView.image.size.height * scale; NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(imageView); [imageView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSSsortingng ssortingngWithFormat:@"V:[imageView(%f)]",ceilf(height)] options:0 mesortingcs:nil views:viewsDictionary]]; return height; }