2011-02-01 103 views
5

我在点击完成按钮后退出键盘时出现问题。我正在使用textView在textView中,当我点击完成按钮时,键盘不会退出

-(BOOL)textViewShouldReturn:(UITextView *)textView 
{ 
    if(textView == addressView) 
    { 
     if(isNotif) 
     { 
      [self setViewMovedUp:NO]; 
     } 
     textView.text= [textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
     [addressView resignFirstResponder]; 
    } 
    return YES; 
} 

而不是键盘退出游标即将到达文本字段中的新行。 请帮帮我。

谢谢 Praveena。

+2

没有这样的代表 - (BOOL)textViewShouldReturn:(UITextView *)textView – KingofBliss 2011-02-01 12:41:00

回答

4

使用下面的委托

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

通常在TextView的返回键是使用的\ n添加到文本,所以它能够更好地一些其他的按钮添加到UITextView的顶部和代码的辞职功能有。

编辑:

有没有这样的代表-(BOOL)textViewShouldReturn:(UITextView *)textView

+0

确保你已经设置了代表 – KingofBliss 2011-02-01 12:33:35

+1

这是一个答案,这段代码隐藏了键盘上的任何字符输入! – 2014-01-29 08:59:48

1

如果视图控制器是该TextView的视图层次结构上面没有这个的TextView的代表会出现这种情况。如果不是,那么ViewController将永远不会收到消息textViewShouldReturn。在创建子视图(UITextView)后的viewController中。

aTextView.delegate = self; 

进行检查,以确保它获取调用添加到您的功能和测试

NSLog(@"resigning first responder"); 

这将测试,看看这个功能甚至还让叫

5

固定KingOfBliss的回答:

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

对我来说就够了。

相关问题