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 dieseDetailViewController
ie 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.