2016-04-23 12 views
0

Ich bin eine ios Anwendung schreiben, die Unteransichten hat (wie Fragmente oder Subviews), die in einer einfachen UIView in einem UIViewController und die Höhe der UIView platzieren ist ca. 300 x. Ich lade nur Subviews in UIView, aber jede Unteransicht hat seinen eigenen Inhalt, der nicht in 300px passen kann, also uiscrollview kann nicht aus der letzten Ansicht.UIScrollView Height dynamisch basierend auf Ansichten ios

Mein Problem ist, ich bin nicht in der Lage, die Bildlaufansicht Inhalt, um von den Eltern UIViewController zusammen whith seines Kind-View-Controller Subviews blättern zu lösen, da die Subviews sind länger als 300px und damit uiscrollview nicht in der Lage ist, te letztes Element zu erhalten.

versuchte ich scrollview.contentSize.height = 1000 statisch und damit die Bildlaufansicht unter dem Bildschirm scrollen zu geben, aber im nicht mehr auf den späteren Ansichten klicken, da es uiscrollview ist nicht in der Lage scheint, dieses Element zu lesen.

Meine Frage ist, wie kann ich dynamische uiscrollview Höhe zuweisen, dass im in meinem uiviewcontroller mit automatischem Layout vorausgesetzt, und ich mag nach Kindern scroll Höhe berechnen auf Basis meines UIViewController. Ich benutze swift 2.0 und automatisches Layout im Storyboard.

Antwort

0

Ihre Einschränkungen sein sollte,

Scroll - oben, unten, führt, nachlauf

Ansicht (Seiten) - oben, unten, führt, nachlauf fixieren Höhe und horizontal Zentrum in Behälter

und fügen Sie alle anderen Sachen in dieser Ansicht hinzu. Sie werden das gewünschte Ergebnis haben. Es scrollt in kleiner Bildschirmgröße und dann in der Inhaltsansicht und scrollt nicht nach einem größeren Bildschirm als nach der Inhaltsansicht.

zweite Sache, die Sie Höhe Ihrer Inhaltsansicht erhöhen müssen, wie weitere Unteransichten hinzufügen. Die Höhe Ihrer Inhaltsansicht sollte der Höhe und dem Abstand aller Unteransichten entsprechen

Nach dieser Konfiguration, wenn Sie nicht scrollen können, überprüfen Sie die Konstante der unteren Konstanten der Inhaltsansicht im Größeninspektor. mach es null (wenn du nur scrollen kannst).

hoffe das hilft :)

Verwandte Themen