Ich habe eine Chat-Benutzeroberfläche erstellt, in der ich am unteren Bildschirmrand constraint
für tableView
hinzugefügt habe. Ich ändere den Constraint-Wert durch Hinzufügen der Höhe der Tastatur, die in allen Geräten außer iPhone X funktioniert.
Benutzeroberfläche, wenn die Tastatur nicht sichtbar ist:
Was ist in Ordnung.
Das Problem ist, wenn die Tastatur erscheint, ist zwischen der Textansicht und der Tastatur ein Leerzeichen zu sehen:
Muss ich versuchen, einen anderen Ansatz dafür zu finden, oder kann es mit Einschränkungen gelöst werden?
Setze einen Ausgang zu deiner Einschränkung für dein ViewController
. Ich werde es jetzt als yourConstraint
bezeichnen. Fügen Sie dann Code hinzu, um festzustellen, wann die Tastatur angezeigt wird und wann sie beendet wird. Dort ändern Sie die constant
der Einschränkung entsprechend. Auf diese Weise können Sie Constraints weiterhin verwenden.
In viewWillAppear
:
In viewWillDisappear
:
In Ihrem UIViewController
Das UIView.animate
ist nicht notwendig (das Innere des Blocks ist es), aber es lässt den Übergang gut aussehen.