将屏幕坐标转换为UIView本地点

时间:2014-10-01 03:35:54

标签: ios objective-c uiview

我已经看过很多关于如何将UIView的本地点转换为屏幕坐标的示例。例如,

CGPoint subContentLocalPoint = subContent.frame.origin ;
CGPoint basePos = [subContent convertPoint:subContentLocalPoint toView:nil] ;

但是如何做相反的事呢? (即将屏幕坐标转换为UIView本地点。) 例如,

屏幕坐标 - x:90 y:100 UIView内容 - x:0 y:0 //因为这是UIView对象在屏幕上的位置。

2 个答案:

答案 0 :(得分:5)

特定视图的屏幕坐标:

UIView* specificView = ...;
CGPoint pointInScreen = ...;
CGPoint pointInWindow = [specificView.window convertPoint:pointInScreen fromWindow:nil];
CGPoint pointInView = [specificView convertPoint:pointInWindow fromView:nil];

答案 1 :(得分:1)

如果您想从subContent的位置获取屏幕位置,请尝试此操作。

[subContent convertPoint:subContentLocalPoint fromView:[UIApplication sharedApplication].keyWindow];