あなたは疑問に思っていますが、細かいことは少しはわかりますが、タップが発生したときにどのセルが選択されたのかをコードで判断していますか?
ie。タップが発生したときに発生するメソッドでは、タップが発生したセルをtableviewに問い合わせて確認し、そこからprepareForSegueメソッドで渡す必要のあるコードを判断できます。
たとえば、次の方法を使用して、タップされたセルを特定し、そのセルのテキストフィールド用にキーボードを表示します。これを簡単に適用して、どのセルがタップされたかを記憶しておき、それをprepareForSegueで使用して正しいデータを送信することができます。
これがあなたが探しているものです。あなたの質問からかなり言えません!
- (void) tapDetected:(UIGestureRecognizer*)sender
{
// get location of tap
CGPoint tapLocation = [sender locationInView:self.tableView];
// Query tableview and get location of cell
NSIndexPath *idp = [self.tableView indexPathForRowAtPoint:tapLocation];
// Now get the actual cell
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:idp];
// Get handle on text field
UITextField *textField = (UITextField *)[cell viewWithTag:1];
// Bring up keyboard for that textfield.
[textField becomeFirstResponder];
}
なぜあなたはUITapGestureRecognierを使用していますか? UITableViewがその作業を行い、選択を処理して詳細ビューにプッシュするのはなぜですか? –
私は、各セルに2つのラベルを持っています。ジェスチャーは、2つの異なるビューコントローラーにそのセグを認識させます。 – mnort9
私は確かにそれがどのようにレイアウトされているかわからないが、私は悪い考えであり、非常にユーザーフレンドリーではないという気持ちがある。あなたの問題を解決するために、私はあなたのtapGestureセレクターのコードを参照する必要があります。 –