首页 > 代码库 > iOS 开发中中 textView 作为子控件点击输入文本,然后退出文本的方式

iOS 开发中中 textView 作为子控件点击输入文本,然后退出文本的方式

方式1. 使用当双击输入的时候弹出键盘同时,使用手势和通知监听键盘的方法实现

  代码如下:

  1. 监听键盘通知

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addTap) name:UIKeyboardDidShowNotification object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyDismiss) name:UIKeyboardWillHideNotification object:nil];

   2. 弹出键盘中添加方法

    - (void)addTap {

         _tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(resign)];

        [self.view addGestureRecognizer:_tap];//self.view 可以视情况改动

    }

  3. 手势的事件

  #pragma mark - 点击手势的事件方法

    - (void)resign {

          [self.view endEditing:YES];

    }

  4. 键盘消失的方法

    - (void)keyDismiss {

      [self.view removeGestureRecognizer:_tap];

  }

 

方式2: 使用textView 的代理方法

#pragma mark - textView 的代理方法

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

        if ([text isEqualToString:@"\n"]) {

        [textView resignFirstResponder];

        return NO;

    }

    return YES;

}

 

iOS 开发中中 textView 作为子控件点击输入文本,然后退出文本的方式