How to add Done button to the keyboard?

ios, iphone, objective-c, programmatically-created, xcode

Solution

thats quite simple :)

[textField setReturnKeyType:UIReturnKeyDone];

for dismissing the keyboard implement the `<UITextFieldDelegate>` protocol in your class, set

textfield.delegate = self;

and use

- (void)textFieldDidEndEditing:(UITextField *)textField {
    [textField resignFirstResponder];
}

or

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

Problem

UPDATE: I also tried implementing UITextViewDelegate delegate and then doing in my controller: ``` - (BOOL)textViewShouldEndEditing:(UITextView *)textView { [textView resignFirstResponder]; return YES; } ``` I also set the delegate of the text view to be self (controller view instance). Clicking the Done button still inserts just a new line :( UPDATE: What I have done so far. I have implemented a UITextFieldDelegate by my view controller. I have connected the text view to the view controller via outlet. Then I did: ``` self.myTextView.delegate = self; ``` And: ``` - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } ``` But when I click on Done button, it just adds a new line. So I have a UITextView element on my scene and when a user taps it, keyboard appears and it can be edited. However, I cannot dismiss the keyboard. How can I add Done button to the keyboard so it can be dismissed?

Original source