Wie kann der Viewcontroller mehrere Positionen anzeigen?

Das Problem, das ich zu lösen versuche, ist folgendes: Ich habe einDetailViewController zeigt die Daten für mein Modell mit @ UIImageView 's,UITextFields 's usw.

Wenn der Benutzer auf eine Schaltfläche tippt, werden dieseDetailViewControllerie Ansichten von @ werden an verschiedene Positionen verschoben und können nun bearbeitet werden. Wenn bearbeitbar, wenn der Benutzer auf eines der @ tipUITextField (nur einer von ihnen ist etwas Besonderes) dieUITextField bewegt sich zum oberen Bildschirmrand und einUITableView scheint es automatisch zu vervollständigen (genau wie wenn Sie etwas auf Google eingeben).

Der Benutzer kann auch auf dieselbe Schaltfläche tippen, um zum Anzeigestatus zurückzukehren (in dem nichts bearbeitet werden kann).

So im Grunde habe ich einige Ansichten in einemViewController mit 3 möglichen Zuständen:DisplayState, EditingState, EditingWithFocusOnSpecialTextFieldsState.

Ich möchte alle diese Positionierungszustände haben, die durch @ beschrieben werdeNSLayoutConstraints und, falls möglich, nur im Storyboard.

Eine Sache, die ich tun könnte, ist dasStatus / Position eines Storyboards animieren, aber das beinhaltet das Schreiben jeder Einschränkung für jeden Zustand im Code, daher konnte ich sie während der Entwicklung nicht wirklich gut im Storyboard visualisieren (außerdem ist das Schreiben von Einschränkungen im Code viel weniger wartbar als im Storyboard).

Was ich möchte, ist zum Beispiel das Erstellen von 3 verschiedenen XIBs oder verschiedene Kopien von meinemDetailViewController im Storyboard mit den 3 verschiedenen Positionen für jede der Unteransichten, und animieren Sie dann zwischen ihnen.

Wenn es einen Unterschied macht, verwende ich immer die neueste iOS-Version (iOS 8 im Moment) und Swift. Ich kenne Objective-C auch sehr gut, wenn Sie nicht in Swift antworten möchten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage