0

重複の可能性:
UITableViewとキーボードのスクロールの問題

UIViewサブビューがUITableViewあり、ユーザーがテキストを入力できる場所UITableViewCellsがあるので、現在ユーザーがタップしているUITextViewUITextViewの位置を取得したいと思います。

UIToucheBeganは、 UITableViewからのUIView手段のサブビューを呼び出していません。

4

3 に答える 3

1

あなたができることは次のとおりです。

  1. ビュー コントローラーを UITextView デリゲートとして設定します。
  2. 編集が開始したら、UITableViewCell が見つかるまで UITextView スーパービューをループします。
  3. UITableViewCell フレーム プロパティを使用してその位置を決定し (UITableView.contentOffset、UITableView.frame、およびメイン コンテナー UIView.frame と組み合わせて)、UIView (または任意のビュー) に対する UITextView の位置を取得します。

また

  1. UITableView にタップ ジェスチャ認識エンジンを追加します。
  2. ターゲット メソッドで[tapGestureRecognizer locationInView:myTableView]、UITableView コンテンツに関連するタップを取得するために使用します。
  3. UITableView indexPathForRowAtPoint: メソッドを使用してから cellForRowAtIndexPath: を使用して、UITableViewCell を取得します。そこから上記(3)を行います。
于 2012-12-15T13:19:59.963 に答える
0

テーブルビューに触れたい場合は、UITableViewをサブクラス化し、そのサブクラスにtouchesBeganを実装します

于 2012-12-15T14:43:12.367 に答える
0

cellForRowAtIndexPath メソッドの textField にタグを追加してみてください

次に、ユーザーが UITextField に入力を開始したときに呼び出しているメソッドで、sender.tag を探します。

または...これにはCustomCellを作成する方が良いかもしれません

于 2012-12-15T14:35:49.183 に答える