2016-06-01 13 views
1

Ich habe UIImageView innerhalb einer scrollview. Ich habe die Breite von uiimageview auf Bildschirmbreite festgelegt. Jetzt, wenn ich ein größeres Bild anzeigen, Da die Breite fest ist, scheint das Bild sehr gestreckt vertikal.UIImageView vertikal mit Autolayout gestreckt

Wenn ich Aspekt fit:

imageViewTest.contentMode = .ScaleAspectFit 

Sein unerwünschtes Ergebnis. Da ich ein orignal Bild anzeigen möchte.

Wir werden für jede Hilfe dankbar sein.

Dank

+0

zeigen uns, wie wollen Sie es ursprünglich? –

+0

Bitte zeigen Sie Ihr stroyBoard –

+0

"Auch ich bin nicht in der Lage, die Grenzen des Bildes zu finden." "Ja wirklich?" Warum das? – matt

Antwort

2
  1. löschen Bodenconstraint.
  2. eine Höheconstraint

enter image description here

  1. einen Auslass der Höhenbeschränkung hinzufügen genannt Fabrikat: constraintImageViewHeight
  2. Aktualisieren Sie den Wert der Höhe Einschränkung

  3. schreiben t seine in viewDidlayoutSubviews

    -(void)viewDidLayoutSubviews { 
        [super viewDidLayoutSubviews]; 
        [self calculateSizeForImageViewWith:testImage]; 
    } 
    
    -(void)calculateSizeForImageViewWith:(UIImage *)img { 
         float orignalWidth = img.size.width; 
         float orignalHeight = img.size.height; 
    
         float change = _imageViewDetail.frame.size.width; 
    
         if (orignalWidth > 0) { 
          float resizedAspectHeight = (orignalHeight * change)/orignalWidth; 
          _constraintImageViewHeight.constant = resizedAspectHeight; 
         } else { 
          _constraintImageViewHeight.constant = 0; 
         } 
        } 
    
Verwandte Themen