繁体   English   中英

如何获得UITableViewCell的rect大小?

[英]How to get rect size of UITableViewCell?

如何获得UITableViewCell的rect大小?

我试图在每次用户点击一个单元格时显示一个弹出悬停,并希望弹出悬停以每个单元格为中心显示:

[replyPopover presentPopoverFromRect:CGRectMake(77, 25, 408, 68) 
                              inView:self.view 
            permittedArrowDirections:UIPopoverArrowDirectionDown 
                            animated:YES];

最近不得不这样做。 您需要使用[tableView rectForRowAtIndexPath]

然而,有一件事可以让你感觉到,当你滚动UITableView时,你需要考虑偏移量(即,将其y位置报告为3000像素的东西当然意味着从UITableView的顶部开始3000 - 不是屏幕上有3000像素)。

除此之外,它自然会出现在单元格的顶部,因此您需要将单元格高度的一半添加到计算中。

这段代码对我有用:

CGRect frame = [tableView rectForRowAtIndexPath:indexPath];
CGPoint yOffset = self.tableView.contentOffset;
[self.popoverController presentPopoverFromRect:CGRectMake(frame.origin.x, (frame.origin.y + 45 - yOffset.y), frame.size.width, frame.size.height)

在我的情况下,每个单元格高90像素,因此'+45'位。 替换自己细胞高度的一半。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM