我有一个分组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
(但应该是)。我怎样才能获得这些价值观?
由于
答案 0 :(得分:0)
完全不确定它是否有效,但您可以尝试:
UITableViewCell *cell = [self.tableView cellForRowAtPoint:[self.activeTextField center]];
答案 1 :(得分:0)
如果要将文本视图添加到单元格的容器视图中,则必须调用self.activeTextField.superview.superview
。如果没有,self.activeTextField.superview
应该有效。
为了确定您的文本字段是否已添加到容器视图的单元格中:
[cell addSubview:]
,则在单元格视图中[cell.cotentView addSubView:]
,则处于容器视图中。