2016-05-12 6 views
0

Ich habe ein UIImage der Abmessungen 300x600 (Höhe x Breite). UIImage relative Hierarchie ist in etwa so:Wie skaliere ich UIImage, um Dimensionen von UIScrollView anzupassen?

enter image description here

Mit Autolayout, habe ich die folgenden Bedingungen für die UIImageView gesetzt, UIScrollView und uiview:

enter image description here

I relativen Höhenabmessungen der eingestellten TableView wie folgt:

// Setting Last Row to height = 70 pixels and first row to fill balance of screen: 
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    if indexPath.row == 1 { return 70 } 
    else { return tableView.frame.size.height - 70 } 
} 

Was ich möchte ist für die Höhe der UIImage genau auf die Höhe der UISCrollView, die es sitzt. Ich bin nicht besorgt über die eventuelle Breite der UIImage, aber möchte es Grenzen von "AspectFit" folgen. So würde ich wahrscheinlich

imageView.contentMode = UIViewContentMode.ScaleAspectFit 

beschäftigen ... wahrscheinlich in

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 
} 

Ich würde setzen die dynamische Höhe und Breite Parameter des UIScrollView, und stellen Sie dann die UIImage Höhe die Höhe des UIScrollView folgen und lassen Sie die ScaleAspectFit automatisch die Breite behandeln.

Ich habe verschiedene Versionen von Code ausprobiert, um dies zu erreichen, aber haben nicht das gewünschte Ergebnis erzielt.

Frage: Bin ich auf dem richtigen Weg? Kann mir irgendjemand freundlicherweise mit irgendeinem Skelettcode beginnen, damit ich ihn an meine Bedürfnisse anpassen kann.

Side Hinweis: ich nur für Portrait-Modus meiner app bin ermöglicht. Keine Landschaft.

Vielen Dank im Voraus für Ihre Aufmerksamkeit und Zeit;)

+0

Weiß nicht, ob ich es richtig verstanden habe, sich mit der Frage werde ich machen würde container 'UIView', um den exakten' UIScrollView' zu speichern, dann kann ich Constraints der untergeordneten Ansicht 'UIImageView' der Bildlaufansicht zu der der Containeransicht erstellen, dh gleiche Höhen. – sargeras

+1

Diese Constraint sind zu ihren Eltern Ich nehme an wie 'UIView' <-->' UIScrollView' <--> 'UIImageView', aber versuchen Sie Constraint als' UIView' <--> 'UIImageView' – sargeras

+0

Hallo. Guter Gedanke. Ich habe die Beschränkung für gleiche Höhen hinzugefügt (von Kind 'UIImageView' zum Container' UIView') und auch die Ansicht -> Modus von 'UIImageView' in IB zu 'Aspect Fill' geändert. Jetzt ist die Höhe perfekt, aber die Breite wird links und rechts vom 'UIImageView' verkürzt. –

Antwort

0

ich einen Container machen würde UIView die genauen UIScrollView dann kann ich erstellen Zwänge der Bildlaufansicht des Kindes UIImageView derjenigen des Behälters Ansicht dh gleicher Höhe zu halten, .

Wie nehme ich an, sind diese Einschränkungen für die Eltern wie

UIView <--> UIScrollView <--> UIImageView 

aber versuchen, sie als

UIView <--> UIImageView