试图获取单元格中文本字段的行数和部分

Posted

技术标签:

【中文标题】试图获取单元格中文本字段的行数和部分【英文标题】:Trying to get number of row and section of a text field in a cell 【发布时间】:2013-07-11 15:23:43 【问题描述】:

我将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(但应该是)。我怎样才能得到这些值?

谢谢

【问题讨论】:

【参考方案1】:

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

为了确定您的文本字段是否添加到容器视图的单元格中:

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

【讨论】:

我从笔尖加载了我的自定义单元格,并将文本字段直接放在 Interface Builder 中的 UITableViewCell 视图中。我尝试了self.activeTextField.superview.superview,它成功了,谢谢【参考方案2】:

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

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

【讨论】:

以上是关于试图获取单元格中文本字段的行数和部分的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:当每个单元格具有不同的行数和列数时,将二进制文件读入单元格

如何使用 apache poi 确定合并单元格中的行数?

列出从一行填充 4 个单元格中的 2 个的行数

自定义大小的表格视图单元格中的 UILabel 中的行数

如何使用文本字段 UITableView 从自定义单元格中获取值?

VBA中如何获取一个表格的行数和列数