如何退回iPhone键盘



故事板场景是这样的:

UITableViewController带有自定义原型UITableViewCell UITableViewAddInfoCell

我在AddInfoCell中放置了一个可编辑的UITextView.

为了返回键盘,我使用将以下代码放在 UIViewController 类中,并使用选项 DidEndOnExit 将其连接到UITextView

- (IBAction)textFieldReturn:(id)sender {
    [sender resignFirstResponder];
}

但是我现在找不到适合此代码的位置,因为UITextViewAddInfoCell类中。

它无法与 TableViewController 类或AddInfoCell类中的UITextView连接。

我还尝试为UITextView创建一个TextViewController类并将textFieldReturn代码放在那里,但我仍然无法在故事板中连接它。

那么关于在这种情况下如何返回键盘的任何建议?

这是创建"AddInfoCell"的地方:

- (AddInfoCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"AddInfoCell";
AddInfoCell *addInfoCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (addInfoCell == nil) {
    addInfoCell = [[AddInfoCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
return addInfoCell;
}

使用UITextViewDelegate委托。

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

同时添加此方法:

 -(BOOL)textViewShouldReturn:(UITextView *)textView {
   [textView resignFirstResponder];
   return YES;
  }

addInfoCell.cellTextView.delegate = self;

最新更新