Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Autolayout - verschiedene Layouts für Portrait und Landscape

Pit Garbe
January 14, 2014

Autolayout - verschiedene Layouts für Portrait und Landscape

Eine Lösung, um mit Autolayout zwei unterschiedliche Layouts zu zeigen, je nachdem wie das Gerät gedreht wird. Natürlich mit Animation ;)

Das GitHub-Projekt dazu: https://github.com/leberwurstsaft/ALPlayGround

Wer lieber animierte Folien sieht (inklusive Demo-Video), kann auch die Keynote-Datei laden: http://d.pr/f/LpXR

Pit Garbe

January 14, 2014
Tweet

More Decks by Pit Garbe

Other Decks in Programming

Transcript

  1. Eine (echte) Lösung •Constraints für eine Ausrichtung vollständig in IB

    •alle Constraints, die NUR für diese Ausrichtung gelten und NICHT für die andere in eine IBOutletCollection •in -updateConstraints die Constraints für die andere Ausrichtung einmalig erstellen •dann je nach aktueller Ausrichtung die richtigen Constraints installieren
  2. Betreffende Constraints wählen Constraints, die inneres Layout in grüner Subview

    betreffen Constraints, die Layout von grüner und orangener Subview betreffen
  3. Außerdem Outlets für die wichtigen Views und ein Array für

    die Constraints, die später im Code erzeugt werden.
  4. Je nach Ausrichtung die passenden Constraints entfernen und die jeweils

    anderen installieren. Die Änderungen der Frames werden automatisch animiert. GitHub: https://github.com/leberwurstsaft/ALPlayGround
  5. Magic Lösung (kein AutoLayout) •TPMultiLayoutViewController •http://atastypixel.com/blog/seamlessly-manage- portrait-and-landscape-view-controller-layouts/ •https://github.com/michaeltyson/ TPMultiLayoutViewController •

    2 Jahre alt kann nix mit AutoLayout anfangen und nicht mal vollständig Springs+Struts abdecken • Verbesserungen (Animationen, etc.) •https://github.com/amolloy/ TPMultiLayoutViewController