Die Funktion textFieldShouldReturn
wird überhaupt nicht aufgerufen: Es gibt keine Fehler, aber die Tastatur reagiert überhaupt nicht.
Mein Fall unterscheidet sich von Wie Tastatur zu verbergen in schnellem Drücken der Return-Taste? wie in meinem Fall passiert überhaupt nichts und andere Fälle sind in Objective-C.
Hier ist mein Code:
%Vor% textField ist eine Quelle für ein Textfeld in meinem Storyboard. Ich probierte auch self.endEditing
anstelle von resignFirstResponder
.
Der Rest dieser Antwort ist immer noch sehr nützlich, und ich werde es dort lassen, da es anderen Fragestellern helfen kann ... aber hier habe ich das offensichtliche Problem mit diesem konkreten Beispiel übersehen ...
Wir rufen resignFirstResponder
nicht für das Textfeld auf. Wir rufen es auf dem View-Controller an. Wir müssen es im Textfeld aufrufen, also ändern Sie Ihren Code wie folgt:
A UITextField
ruft nur die Eigenschaft textFieldShouldReturn
für das Objekt auf, das sein Delegat ist.
Wir können das programmatisch beheben, indem wir eine Methode viewDidLoad
hinzufügen, um Folgendes festzulegen:
Aber wir können das auch über das Storyboard zur Build-Zeit einrichten.
Klicken Sie mit der rechten Maustaste auf das Textfeld, um zu überprüfen, ob der Delegat festgelegt wurde oder nicht:
Wenn dieser Kreis neben delegate
nicht gefüllt ist, haben wir den Delegierten für unser UITextField
noch nicht festgelegt.
Um den Delegaten festzulegen, bewegen Sie den Mauszeiger über diesen Kreis. Es wird in ein Pluszeichen geändert. Klicken Sie nun auf den Ansichtscontroller, an den Sie das Textfeld delegieren möchten (den Ansichtscontroller, in dem das Textfeld enthalten ist), und ziehen Sie ihn.
Wenn Sie den View-Controller ordnungsgemäß als Delegat angemeldet haben, sollte dieses Menü wie folgt aussehen:
Ich bin in einem Swift 4 Udemy-Kurs angemeldet und der Kursleiter hat gesagt, dass ich die UITextFieldDelegate-Klasse für den ViewController zusätzlich zu Cntrl hinzufügen soll - indem ich vom textField zur ViewController-Schaltfläche ziehe und den Delegaten auswähle.
Importieren Sie UIKit
%Vor%