IOS - NSNotificationCenter Multiple Uikeyboard-Benachrichtigung
-
29-10-2019 - |
Frage
Ich habe zwei Ansichtscontroller, nennen wir sie a und b
(1) In einem Ich zeige einen Popover mit einem Textfeld mit (2) In B gibt es eine UitextView, die für eine einfache Textbearbeitung verwendet wird
Ich muss die Tastatur in A und in B verwalten, um den von der Tastatur verborgenen Inhalten zu scrollen.Ich weiß, wie man den Inhalt neu positioniert.Was ich brauche, ist ein Weg, um unterschiedliches Verhalten auf denselben Benachrichtigungsarten zu haben, die in meiner Uikeyboardwill-Benachrichtigung (Show / Hide) sind.
Was ich bisher getan habe:
(1) Ich habe diesen Code in jedem Controller hinzugefügt
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidAppear:)
name:UIKeyboardWillShowNotification
object:self.view.window
Wie gesagt, ich habe diesen Code in A und B hinzugefügt, aber funktioniert nicht, wie ich erwartet habe.Zum Beispiel
Wenn ich in das Insidextansicht klicke, werden zwei Methoden ausgelöst.
Ich bin sicher, ich mache etwas falsch, aber ehrlich gesagt kann ich es nicht herausfinden.
Lösung
Ich habe dieses Problem gelöst, das den Ort wechselte, wenn ich mich für die Benachrichtigung registriere.Um sicherzustellen, dass nur der ViewController sichtbar ist, ist der Controller, der die Benachrichtigung erhalten habe, die ich für die Benachrichtigung in ViewElAraceRear registriere, und entfernen Sie die Benachrichtigung in ViewwillDisAppear.
Andere Tipps
Ihre Syntax ist ebenfalls etwas durcheinander. Sie müssen die Wortauswahl nach dem @ ... hinzufügen
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidAppear:)
name:UIKeyboardWillShowNotification
object:self.view.window];