故事板场景是这样的:
UITableViewController
带有自定义原型UITableViewCell
UITableView
:AddInfoCell
。
我在AddInfoCell
中放置了一个可编辑的UITextView
.
为了返回键盘,我使用将以下代码放在 UIViewController
类中,并使用选项 DidEndOnExit
将其连接到UITextView
:
- (IBAction)textFieldReturn:(id)sender {
[sender resignFirstResponder];
}
但是我现在找不到适合此代码的位置,因为UITextView
在AddInfoCell
类中。
它无法与 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;