Frage Wie ändere ich die Tastatur?


Alles klar, also mein Ziel ist, dass wenn die Tastatur Fertig Taste nach dem Einführen von etwas in einem geklickt wird UITextFieldEs sollte eine meiner Aktionen auslösen, aber die Tastatur nicht verwerfen.

Im Moment habe ich die Verbindung hergestellt UITextField Mit meiner Aktion durch das Ereignis Did End on Exit und jedes Mal, wenn ich auf die Schaltfläche Done klicke, wenn ich mit der Eingabe fertig bin, verschwindet die Tastatur.

Lassen Sie es mich wissen, wenn Sie weitere Erläuterungen benötigen.


5
2018-01-27 18:52


Ursprung


Antworten:


Versuchen Sie die Einstellung textField.delegate = self in Code, sowie die Einhaltung der UITextFieldDelegate Protokoll. Implementiere dann diese Methode:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    // Do something
}

10
2018-01-27 19:06



Sieh dir das an UITextFieldDelegate Protokoll Referenz: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html

Sie können diese Methode verwenden, um das Verhalten Ihrer Tastatur zu steuern:

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
    return NO;
}

0
2018-01-27 19:07



Sie müssen die Delegate-Methode von verwenden UITextField. (Setzen Sie den Delegaten von TextField, um viewController im Interface Builder oder in der Quelle zu korrigieren)

Gehen Sie dann zur .h-Datei von textFields Viewcontroller:

@interface correctViewController(type yours) :UIViewController <UITextFieldDelegate>
//now correctViewController "understands" our textfield.

Gehe zur correctViewController.m Datei:

//Create delegate method of textField
-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder]; //to hide keyboard
    return NO;
}

Sieht aus wie das.


0
2018-01-27 19:07



In Swift wäre es:

//MARK: UITextFieldDelegate

func textFieldShouldReturn(textField: UITextField) -> Bool
{
    textField.resignFirstResponder()

    return true
}

0
2018-01-29 17:21