从表格单元转换点的Prolem

时间:2015-07-01 21:24:28

标签: ios uitableview autolayout

我有以下层次结构:Controller.view [tableView,overlayView]。表视图从父视图通过约束,叠加视图 - 而不是。

有16个点的顶部插入

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

如果我使用此代码(在叠加视图内):

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();

我从imageView原点获得了16点偏移responder,图片不适合原始视图。所以我必须使用带有FIXME标记的线来使原点相等。为什么转换不工作?

1 个答案:

答案 0 :(得分:1)

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

responder