-1

在我使用的应用程序UITextViewUIScrollView,我添加了要隐藏的代码,它不起作用。这是我的代码

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

7 回答 7

1

这是你的答案:-

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

resignFirstResponder将与UITextView参考一起工作。你给了喜欢

[text resignFirstResponder];

哪个行不通。

于 2012-09-14T10:24:59.107 回答
0

你的代码没问题。只需更换

[txt1 resignFirstResponder];

[textView resignFirstResponder];

并确保您的textView委托设置为不会调用YES其他明智的方法。delegate

textView.delegate = self;

如果你已经被你的textViewfromXIB然后ctrl+drag from textViewtoFile'sO Owner并设置它的delegate. 它肯定会起作用。

于 2012-09-14T10:55:52.633 回答
0

使用此代码:-

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if([text isEqualToString:@"\n"])
    {
        [txtView resignFirstResponder];
        return NO;
    }
    return YES;
}
于 2012-09-14T10:33:40.380 回答
0

如果您想在每个文本视图中按回车键退出键盘,请使用以下代码。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    if([text isEqualToString:@"\n"])
    {
        [textView resignFirstResponder];
        return NO;
    }
    return YES;
}
于 2012-09-14T10:37:00.000 回答
0

你应该返回假。喜欢:-(假设 txt1 是您的文本视图的 obj)

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"])
    [txt1 resignFirstResponder]; // OR [textView resignFirstResponder];
return FALSE;
}
于 2012-09-14T10:25:14.580 回答
0

您可以使用以下代码:

-(void)touchesBegan :(NSSet *)touches withEvent:(UIEvent *)event
{

    [self.view resignFirstResponder];

    [scrollView resignFirstResponder];

}

然后您可以触摸除 textView 之外的任何其他位置以使键盘隐藏。

于 2012-09-14T10:26:18.770 回答
0

像这样做 ,

- (BOOL)textViewShouldReturn:(UITextView *)textView
{
    // the user pressed the "Done" button, so dismiss the keyboard
    [textView resignFirstResponder];
    return YES;
}

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
  if([text isEqualToString:@"\n"]) //Resign for return Key
  {
    [textView resignFirstResponder];
  }
  return YES;
}
于 2012-09-14T10:28:08.393 回答