1

ストーリーボードのシーンは次のようになります。

UITableViewControllerUITableViewカスタム プロトタイプUITableViewCell:を使用しAddInfoCellます。

に編集可能を配置しUITextViewましたAddInfoCell

キーボードを返すには、次のコードをUIViewControllerクラスに入れ、UITextViewwith オプションに接続しますDidEndOnExit

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

UITextViewしかし、AddInfoCellクラス内にあるため、このコードに適した場所が見つかりません。

クラスやクラスUITextViewからは接続できません。TableViewControllerAddInfoCell

TextViewControllerまた、のクラスを作成してそこUITextViewにコードを配置しようとしました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;

}
4

2 に答える 2

2

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;
  }
于 2012-09-19T16:39:03.690 に答える
0

addInfoCell.cellTextView.delegate = 自己;

于 2012-09-19T17:35:17.913 に答える