カスタムセルを含むtableViewがあります。セル内のオブジェクトの 1 つは textField です。tableViewController は textFieldDelegate です。テーブルのデータソースはオブジェクトの配列です。ユーザーが textField をタップすると、tableViewController は textField デリゲート メソッドを実装し、この方法でデータ入力を制御します。
ユーザーが入力したデータを使用するために、tableViewController は以下を実装します。
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
CGPoint point = [textField center];
point = [self.tableView convertPoint:point fromView:textField];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:point];
...
...
return YES
}
indexPath.row が常に間違っている理由を理解するのに 2 時間を費やしました。解決策: ストーリーボードで、textField をセルの上部に移動します。誰かが前にこのようなものを見たことがありますか? ありがとう。