0

UITableViewテキストフィールドを配置したいくつかのカスタムセルでグループ化しました。現在アクティブなテキスト フィールドを指すプロパティを定義しました。

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
   self.activeTextField = textField;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
   self.activeTextField = nil;
}

そのようなテキスト フィールドを含むセルの行とセクションを取得する必要があります。私はこれを試しました:

UITableViewCell *parentCell = (UITableViewCell *)[self.activeTextField superview];
NSIndexPath* cellPath = [self.tableView indexPathForCell:parentCell];
NSInteger cellRow = [cellPath row];

しかし、私は常に 0 を取得しparentCellますUITableViewCell。これらの値を取得するにはどうすればよいですか?

ありがとう

4

2 に答える 2

0

それが機能するかどうかはまったくわかりませんが、試してみてください:

UITableViewCell *cell = [self.tableView cellForRowAtPoint:[self.activeTextField center]];
于 2013-07-11T15:28:12.793 に答える
0

テキスト ビューをセルのコンテナー ビューに追加する場合は、 を呼び出す必要がありますself.activeTextField.superview.superview。そうでない場合は、self.activeTextField.superview動作するはずです。

テキスト フィールドがコンテナ ビューのセルに追加されているかどうかを調べるには、次のようにします。

  1. xib/storyboard からのテキスト フィールドをカスタム セルに追加すると、contentView になります。
  2. そうする場合[cell addSubview:]、セルのビューにあります
  3. もしそうなら[cell.cotentView addSubView:]、それはコンテナビューです。
于 2013-07-11T15:28:47.983 に答える