Dismiss keyboard for UITextView without using Return key

亡梦爱人 提交于 2019-12-23 20:06:08

问题


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?


回答1:


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.




回答2:


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

When it's triggered, call:

[self.textView resignFirstResponder];



回答3:


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




回答4:


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;
}



回答5:


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....



来源:https://stackoverflow.com/questions/10057242/dismiss-keyboard-for-uitextview-without-using-return-key

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!