So habe ich derzeit eine UIView
Unterklasse namens: "InputView
" mit zwei Unteransichten, eine UILabel
und eine UITextField
. Die Art, wie ich es eingerichtet habe, ist, ich kann den Platzhalter für Etiketten und Textfelder so ändern, dass diese InputView
als modulare Komponente für jedes Eingabefeld in meiner App (E-Mail, Passwort, etc.) dienen kann. Alles, was ich tun muss, ist erstellen eine leere UIView
in meinem Storyboard, stellen Sie es als InputView
Klasse, und den Rest haben programmgesteuert erfolgen.Wie erstelle ich ein SubView, das dynamisch erscheint und seine Superview-Größe erweitert. (in code)
Jetzt renne ich in ein Problem. Die InputView
sind einfache UIView
's, deren Einschränkungen im Storyboard festgelegt sind, aber ich möchte eine Unteransicht (eine Tabelle) hinzufügen, die dynamisch erscheint/verschwindet, wenn ein Benutzer die UITextField
bearbeitet. Jedes Mal, wenn die Tabelle erscheint, dehnt sich die InputView
in der Höhe aus, schiebt alles darunter nach unten und verschwindet dann sehr sauber hinterher.
Ich habe keine Ahnung, wie das geht. Hier ist, was ich gedacht habe:
Idee 1: Platzieren Sie die Tabelle in der Ansicht, fügen Sie alle notwendigen Einschränkungen hinzu und hoffe, dass InputView von selbst erweitert. Dies führt zu dem Tisch außerhalb des Rahmens der InputView
und daher nicht mehr auf Benutzer berühren aus irgendeinem Grunde
Idee 2 sein: durch die Tabellen Höhe es Höhe ändern Sie die Grenzen der InputView
und erweitern. Das funktioniert nicht, weil die Einschränkungen im Storyboard festgelegt sind, und ich habe keinen Zugriff auf sich programmatisch
Idee 3: Nach fast 5 Stunden Forschung und gescheiterte Versuche, gehen und sehen Stackoverflow, wenn jemand hat eine Idee, wie man es beheben kann. (Danke!)
Es funktioniert !! Für zukünftige Reisende, [http://stackoverflow.com/questions/12622424/how-do-i-animate-constraint-changes], wie man es animiert (warum würden Sie es dynamisch ohne ändern) etwas Animation?) Viel Glück alles – QuantumHoneybees