3

I'm using a UITextView and want to keep the normal usage of Return key, i.e. to insert a new line. But how do I dismiss the keyboard when I can't use the Return key for that?

5 Answers 5

8

A lot of people add a UIToolbar with a Done button on it above the keyboard. This is how the Safari app does it as well and in my opinion it is the best way to handle this situation. See a pic here.

To dismiss the keyboard, you just have to do [textField resignFirstResponder];.

Here is an okay example of how to add the UIToolbar when the keyboard shows/hides.

Sign up to request clarification or add additional context in comments.

1 Comment

Great, using that solution with a inputAccessoryView for the UITextView.
1

How the user triggers it is a design decision: another button, a swipe gesture?

When it's triggered, call:

[self.textView resignFirstResponder]; 

Comments

0

You could just use a background tap to hide the keyboard.

Comments

0

A good way to Dismiss keyboard.

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView { //NSLog(@"ShouldBeginEditing"); if(textView == indexOneTW) { here use uibutton and set its target to a method which contains [urTextView resignFirstResponder] } return TRUE; } 

Comments

0

Make sure you declare support for the UITextViewDelegate protocol.

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

Enjoy Buddy with this code....

2 Comments

Cool - That's not what he asked though
@issues : [UIView _forgetDependentConstraint:]: message sent to deallocated instance

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.