Ios 尝试获取单元格中文本字段的行数和节数

Ios 尝试获取单元格中文本字段的行数和节数,ios,uitableview,row,nsindexpath,Ios,Uitableview,Row,Nsindexpath,我有一个分组的UITableView,其中有几个自定义单元格,我在其中放置了文本字段。我定义了一个指向当前活动文本字段的属性: - (void)textFieldDidBeginEditing:(UITextField *)textField { self.activeTextField = textField; } - (void)textFieldDidEndEditing:(UITextField *)textField { self.activeTextField = ni

我有一个分组的
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
(但应该是)。如何获取这些值


谢谢

完全不确定它是否有效,但您可以尝试:

UITableViewCell *cell = [self.tableView cellForRowAtPoint:[self.activeTextField center]];

如果要将文本视图添加到单元格的容器视图中,则必须调用
self.activeTextField.superview.superview
。否则,
self.activeTextField.superview应该可以工作

要了解文本字段是否已添加到容器视图的单元格中,请执行以下操作:

  • 如果将xib/storyboard中的文本字段添加到自定义单元格,则该字段位于contentView中
  • 如果执行
    [cell addSubview::
    ,则在cell视图中
  • 如果执行
    [cell.cotentView addSubView:
    ,则在容器视图中

  • 我从nib加载了自定义单元格,并将文本字段直接放在Interface Builder的
    UITableViewCell
    视图中。我尝试了
    self.activeTextField.superview.superview
    ,效果很好,谢谢