在UIScrollView中获取UItextField的真实位置

use*_*474 3 xcode ios

我在UIscrollview中有一系列UItextViews。文本视图的数量取决于用户,可以有他想要的数量。

我将相同的UItapGestureRecogniser分配给每个UItextView(添加到NSMutableArray中)。轻按UItextView时,将绘制一条线,将textField连接到用户在屏幕上触摸的点。一切正常,除了当我向下滚动时,我以这种方式设置的起点的y坐标不正确:

CGPoint coords;
coords.y = textname.frame.origin.y + 15;
Run Code Online (Sandbox Code Playgroud)

...其中文本名是手势的发送者

有没有一种方法可以获取实际屏幕的坐标,而无需考虑UItextView在UIscrollView中?

rma*_*ddy 6

UIView类提供了方法,将坐标从一个视图到另一个。

要将视图的原点转换为屏幕坐标,请执行以下操作:

CGPoint screenOrigin = [someView convertPoint:someView.bounds.origin toView:nil];
Run Code Online (Sandbox Code Playgroud)

通过nil用于toView转换为屏幕坐标的方法。

您的情况下,请替换someViewtextname