新插入行的UITableViewCell.frame

时间:2014-06-23 21:59:36

标签: ios uitableview insert frame

在我的应用程序中,有一个带有文本字段的视图,它用作向表视图添加新记录的表单。点击“保存”按钮后,我希望表单视图以放大效果动画到新插入表视图的行中。因为插入的单元格可以在屏幕下方,所以滚动表格直到新单元格被识别。

如何读取新插入的原始帧?

我现在的代码如下:

[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
                      withRowAnimation:UITableViewRowAnimationFade];

[self.tableView selectRowAtIndexPath:indexPath
                            animated:YES
                      scrollPosition:UITableViewScrollPositionMiddle];

zoomInFrame = [self.tableView convertRect:[self.tableView rectForRowAtIndexPath:indexPath]
                                   toView:self.parentViewController.view];

但是zoomInFrame不会存储正确的数据。

我应该在哪里搜索合适的框架?

1 个答案:

答案 0 :(得分:0)

此代码为您提供indexPath的特定单元格的框架:

//获取单元格矩形并调整它以考虑滚动偏移量

CGRect cellRect = [tableView rectForRowAtIndexPath:indexPath];
cellRect = CGRectMake(cellRect.origin.x - tableView.contentOffset.x, cellRect.origin.y - tableView.contentOffset.y, cellRect.size.width, cellRect.size.height);