Die Höhe einer Tastatur auf verschiedenen iOS-Geräten ist unterschiedlich. Weiß jemand, wie ich die Höhe der Tastatur eines Geräts programmgesteuert ermitteln kann?
ios
swift
uikeyboard
Lachtan
quelle
quelle
Antworten:
In Swift:
Sie können die Tastaturhöhe ermitteln, indem Sie die
UIKeyboardWillShowNotification
Benachrichtigung abonnieren . (Angenommen, Sie möchten wissen, wie hoch die Höhe sein wird, bevor sie angezeigt wird.)Etwas wie das:
Swift 2
Swift 3
Swift 4
Dann können Sie in folgenden
keyboardWillShow
Funktionen auf die Höhe zugreifen :Swift 2
Swift 3
Swift 4
quelle
UIResponder.keyboardWillShowNotification
imSwift 3.0 und Swift 4.1
1- Registrieren Sie die Benachrichtigung in der
viewWillAppear
Methode:2- Aufzurufende Methode:
quelle
keyboardWillShow
Parameter vom Typ istNotification
, um Swift 3.0-kompatibler zu machen.viewDidLoad
ist keine gute Idee, sich für die Benachrichtigung in zu registrieren : Wo platzieren Sie den passendenremoveObserver
Anruf, damit keine Benachrichtigungen mehr angezeigt werden, wenn diese VC nicht mehr angezeigt wird? Es ist besser, die Registrierung für BenachrichtigungenviewWillAppear
removeObserver
viewWillDisappear
Swift 4 und Einschränkungen
Fügen Sie Ihrer Tabellenansicht eine untere Einschränkung in Bezug auf den unteren sicheren Bereich hinzu. In meinem Fall heißt die Einschränkung tableViewBottomLayoutConstraint.
quelle
Aktualisieren Sie Swift 4.2
Auswahlmethode:
Erweiterung:
Aktualisieren Sie Swift 3.0
Auswahlmethode:
Erweiterung:
Trinkgeld
UIKeyboardDidShowNotification oder UIKeyboardWillShowNotification wurden möglicherweise zweimal aufgerufen und erzielten ein anderes Ergebnis. In diesem Artikel wurde erläutert, warum zweimal aufgerufen wurde.
In Swift 2.2
Swift 2.2 veraltet die Verwendung von Zeichenfolgen für Selektoren und führt stattdessen eine neue Syntax ein :
#selector
.Etwas wie:
Auswahlmethode:
Erweiterung:
quelle
Kürzere Version hier:
quelle
Swift 4 .
Einfachste Methode
quelle
Swift 5
quelle
// Schritt 1: - NotificationCenter registrieren
// Schritt 2: - Diese Methoden werden automatisch aufgerufen, wenn die Tastatur angezeigt oder ausgeblendet wird
quelle
Die Methode von ZAFAR007 wurde für Swift 5 in Xcode 10 aktualisiert
quelle
Ich musste das machen. Das ist ein bisschen Hackery. nicht vorgeschlagen.
aber ich fand das sehr hilfreich,
ich habe Erweiterung und Struktur gemacht
ViewController-Erweiterung + Struktur
Verwendung: Holen Sie
sich die unterste Einschränkung
Rufen Sie die Funktion in viewDidLoad () auf.
Ich hoffe das hilft.
-Sie Tastatur wird nun automatisch schließen , wenn der Benutzer tippt außerhalb von Textfeld und
- es wird allen Blick auf über Tastatur drücken , wenn Tastatur erscheint. -Du könntest
auch entlassenKeyboard () verwenden, wann immer du es brauchst
quelle
Ich benutze unten Code,
quelle