2017-12-10 3 views
0

Wie bekomme ich die Höhe der Ansicht von iOS auf eine benutzerdefinierte Tastatur?Höhe der benutzerdefinierten Tastatur in iOS und Swift 4

ich zur Zeit der Einstellung der Tastatur manuell für ein iPhone 8 Plus:

var keyboardHeight: CGFloat { 
    return UIScreen.main.bounds.height > UIScreen.main.bounds.width ? 226 : 162 
} 

Wie programmatisch die Höhe der Tastatur für alle Größenklassen bekommen?

+0

Schreiben Sie Code in die benutzerdefinierte Tastatur oder in einen View-Controller? Wenn Sie Code in die Tastatur schreiben, gibt Ihr Code die Tastaturhöhe an. Wenn Sie in einem View-Controller schreiben, sollten Sie die Tastaturbenachrichtigungen verwenden, wie Andrea sagte. – Paulw11

+0

@ Paulw11 der Code ist in der benutzerdefinierten Tastatur-Controller geschrieben. Die Höhe, die ios einer benutzerdefinierten Tastatur zuweist, variiert von Gerät zu Gerät. – Carpsen90

+0

Sie können die Höhe Ihrer Tastatur entweder mithilfe von Beschränkungen festlegen oder Sie können die Standardhöhe ermitteln, indem Sie sich den Rahmen der übergeordneten Tastaturansicht ansehen. – Paulw11

Antwort

0

Der Weg ist der übliche: listen to keyboard notifications and respond to them.
Der endFrame Schlüssel des userInfo Wörterbuchs, das mit der Benachrichtigung gesendet wird, enthält die richtige Größe der Tastatur. Ich berücksichtige auch eventuelle accessoryInputView.

+0

Ich brauche die Höhe, die iOS dieser benutzerdefinierten Tastatur in jeder App auf jedem Gerät geben wird. Ich habe keinen Zugriff auf Textfelder und Textansichten, um benachrichtigt zu werden, wenn die Tastatur ein- oder ausgeblendet wird. – Carpsen90

Verwandte Themen