Frage

Ich arbeite an einem iPhone-App und in dem iPhone-App ist der Benutzer der Eingabe in einer UITextView. Ich habe mich gefragt, wie ich die done Taste auf der Tastatur hinzufügen könnte stattdessen die normale Return-Taste zu haben, und wenn Sie auf dieser Taste klicken, um die Tastatur schließen.

Danke!

War es hilfreich?

Lösung

Es gibt keine -textViewShouldReturn: Methode im UITextViewDelegate Protokoll. Wenn Sie die Rückkehr (fertig) drücken, um die Tastatur schließen wollen, dann ist es wahrscheinlich am besten, eine UITextField stattdessen zu verwenden, wird UITextView die für die Bearbeitung mehrerer Textzeilen (so Sie brauchen eine Möglichkeit, einen Zeilenumbruch eingeben).

Wenn Sie wirklich die Tastatur entlassen werden sollen, wenn die Return-Taste in einem UITextView schlagen, werden Sie wahrscheinlich so etwas tun könnten:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
  if ([text isEqual:@"\n"]) {
    [textView resignFirstResponder];
    return NO;
  }
  return YES;
}

Andere Tipps

Es ist so einfach wie:

textField.returnKeyType=UIReturnKeyDone;

Fügen Sie diese auf Ihrem Textfeld des Delegierten die Tastatur zu entfernen, wenn sie gedrückt ist:

- (BOOL)textFieldShouldReturn:(UITextField *)aTextfield {
    [aTextfield resignFirstResponder];
    return YES;
}

Neben Einstellung:

textField.returnKeyType = UIReturnKeyDone;

Sie müssen Textfeld des Delegierten für Ihre Klasse setzen und etwas tun, wie folgt aus:

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];

    return YES;
}

Das die returnKeyType Einstellung kann auch von Interface Builder erfolgen - wenn Sie Ihre UI in einem XIB definiert haben. Auf der anderen Seite wird die -resignFirstResponder stellen Sie sicher, dass die Tastatur verschwindet. Es sollte in der -textFieldShouldReturn erfolgen:. Delegatmethode, da die aufgerufen wird, wenn die Benutzer Taps auf der Schaltfläche Fertig

Hope, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top