我在一个UITableView
中使用多个viewController
自定义单元格。自定义单元格有textFields
,我可以编辑textFields。现在我想在编辑textField时在UITableView
委托方法中获取精确textField
的tableViewCell?
请记住,有多个tableView我想要获取正在编辑的精确表格的确切单元格。任何帮助?
答案 0 :(得分:1)
您必须标记 tableview
在textfield delegate中使用以下代码
UITableViewCell *cell = (UITableViewCell *) textField.superview.superview.superview;
UITableView *curTableView = (UITableView *)cell.superview;
NSIndexPath *indexPath = [curTableView indexPathForCell:cell];
答案 1 :(得分:-1)
永远不要遍历超级视图,正确且最可靠的方式来做你想做的事情:
CGPoint textViewPosition = [textView convertPoint:CGPointZero toView:self.tableView];
CGRect senderFrame = CGRectMake(textViewPosition, textViewPosition, textView.frame.size.width, textView.frame.size.height);
NSArray *indexPaths = [self.tableView indexPathsForRowsInRect:senderFrame];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[indexPaths firstObject];
由于您在1个视图中有不同的表视图,这可能会变得更复杂,我建议您重新考虑为什么您有多个表视图,看看是否可以以更有效的方式执行此操作,即1个表视图自定义部分等...