在tableview的superview坐标系中获取tableviewCell的中心

问题描述 投票:0回答:1

您可以使用以下方法获取其superview或tableView坐标内的单元格的中心点:

  CGPoint center = cell.center;

如果tableview的superview是UIView,你如何在tableview的superview坐标系中得到单元格的中心点?

编辑:

单元格位于tableView中,tableView位于self.view中。我主要关注y坐标。我做了一个测试,看看值应该是什么但是没有从convertPointToView获得所需的结果:

//debugger values appear below each line
CGRect viewRect = self.view.frame;
//(origin = (x = 0, y = 0), size = (width = 320, height = 568))
CGRect tableRect = self.tableView.frame;
//(origin = (x = 0, y = 108), size = (width = 320, height = 411))
 CGPoint prelimcenter = cell.center;
CGPoint center = prelimcenter;
//(x = 160, y = 242)
prelimcenter = [cell convertPoint:prelimcenter toView:self.view];
// (x = 160, y = 526) 

我希望Y坐标的差异大约是108,这是帧的差异。但是,使用convertPoint的点的差异是284.我的语法/代码可能有什么问题?

ios cgpoint superview
1个回答
0
投票

您可以使用convertPoint:toView:方法。这是Apple's documentation的链接。

CGPoint center = cell.center;
center = [cell convertPoint:center toView:yoursuperview];

那应该将它转换为指定视图的坐标系。

© www.soinside.com 2019 - 2024. All rights reserved.