Statt zwei Aktion auf eine Schaltfläche hinzuzufügen, können Sie Tastatur in Ihrer revealToggle
Funktion wie diese versuchen zu entlassen. Sie können für die Benachrichtigung als
// Register to receive notification
NotificationCenter.default.addObserver(self, selector: #selector(YourClassName.handleKeyBorad), name: menuRevealed, object: nil)
Fügen Sie den Wähler auf Ihre Schaltfläche als
openMenu.action = Selector("revealToggle:")
Behandeln Sie die Benachrichtigung in Ihrer Klasse als
func handleKeyBorad()
{
textField.resignFirstResponder()
}
In Ihrem die Klasse als Beobachter hinzufügen offenbaren Toggle-Methode feuern die Benachrichtigung als
[[NSNotificationCenter defaultCenter] postNotificationName:@"menuRevealed"
object:self];
Denken Sie bei der Verwendung des Benachrichtigungsmusters daran, eine Klasse zu registrieren und sie als Listener zu entfernen, wenn sie nicht benötigt wird. In erschien wie oben registrieren und als
anzeige- hörte verschwinden hören
NotificationCenter.default.removeObserver(self, name: notificationName, object: nil);
------------ EDIT -----------
Fügen Sie in Ihrer Anzeige nur die folgende Zeile hinzu:
UIApplication.sharedApplication().sendAction("resignFirstResponder", to:nil, from:nil, forEvent:nil)
Es wird alle UIResponder zurücktreten. muss nicht mit Benachrichtigungen umgehen.
Ich hoffe, es hilft. Glückliche Kodierung !!
revealToggle Funktion in einer anderen Datei geschrieben wurde und in Objective-c Ich denke, - (IBAction) revealToggle: (id) sender { [self revealToggleAnimated: YES]; } –
Ich habe dies nur für das Menü importieren –