OGeek|极客世界-中国程序员成长平台

标题: ios - 从表格单元格转换点的问题 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:52
标题: ios - 从表格单元格转换点的问题

我有以下层次结构:Controller.view [tableView,overlayView]。表格 View 通过约束从父 View 具有 16 个点的顶部插入,覆盖 View - 不是。

在表格单元格内容 View 中,我有另一个 View responder,我想在 View overlayView 上显示它的图像。

如果我使用此代码(在覆盖 View 内):

CGRect frame;
CGPoint origin = [responder convertPoint:responder.frame.origin toView:self];
// FIXME origin.y -= 16;
frame.origin = origin;
frame.size = responder.frame.size;
_imageView.frame = frame;

UIGraphicsBeginImageContextWithOptions(responder.bounds.size, NO, 0);
[responder drawViewHierarchyInRect:responder.bounds afterScreenUpdates:YES];
_imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

我得到 imageViewresponder 原点偏移 16 点,并且图像不适合原始 View 。所以我必须使用带有 FIXME 标记的线来使原点相等。为什么转换不起作用?



Best Answer-推荐答案


您应该从 respondersuperview 转换点,而不是 responder 本身。将您的第二行更改为:

CGPoint origin = [responder.superview convertPoint:responder.frame.origin toView:self];

关于ios - 从表格单元格转换点的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31171956/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4