iPhone X-Tastatur erscheint mit zusätzlichem Speicherplatz

9

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?

    
Amit 14.11.2017, 12:43
quelle

2 Antworten

10

Ziehen Sie die Höhe des unteren Einschubs des sicheren Bereichs ab, wenn Sie den Wert für Ihre Abhängigkeit berechnen.

Hier ist eine Beispielimplementierung, die eine UIKeyboardWillChangeFrame -Benachrichtigung behandelt.

%Vor%     
nathan 14.11.2017, 21:55
quelle
0

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 :

%Vor%

In viewWillDisappear :

%Vor%

In Ihrem UIViewController

%Vor%

Das UIView.animate ist nicht notwendig (das Innere des Blocks ist es), aber es lässt den Übergang gut aussehen.

    
erikmartens 14.11.2017 12:57
quelle

Tags und Links