脆弱な回答を受け入れる場合は、会話に何か新しいものを提供するために:
CGRect rectInTableView =
[tableView convertRect:textField.bounds fromView:textField];
NSUInteger indexOfCellContainingTextField =
(NSUInteger)(rectInTableView.y / tableView.rowHeight);
脆弱にする前提: (i) すべての行が同じ高さです。(ii) 高さはテーブル ビューで設定されます。実装していない場合はUITableViewDelegate -tableView:heightForRowAtIndexPath:
、これらの両方の仮定が当てはまります。また、正の浮動小数点数を整数にキャストすると切り捨てられるという事実も利用しています。
仮定についてはまだ完全には明らかではありませんが、これは Mundi のソリューションよりも脆弱ではないと私は主張します。これは、直接制御すること (つまり、セルのサイズ変更) についてのみ仮定を行い、制御しないこと (つまり、ビュー階層) については仮定しないためです。 UIKit を内部的に使用して、テーブル ビューを表示します)。