gpt4 book ai didi

objective-c - 如何获取 UITableViewCell 的矩形大小?

转载 作者:太空狗 更新时间:2023-10-30 03:24:48 25 4
gpt4 key购买 nike

如何获得 UITableViewCell 的正确大小?

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

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

最佳答案

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

但是,可能会引起您注意的一件事是,当您滚动浏览 UITableView 时,您需要考虑偏移量(即报告其 y 位置为 3000 像素的内容当然意味着距顶部 3000 UITableView - 屏幕上不是 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”位。替换为您自己的单元格高度的一半。

关于objective-c - 如何获取 UITableViewCell 的矩形大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com