我已经看过很多关于如何将UIView的本地点转换为屏幕坐标的示例。例如,
CGPoint subContentLocalPoint = subContent.frame.origin ;
CGPoint basePos = [subContent convertPoint:subContentLocalPoint toView:nil] ;
但是如何做相反的事呢? (即将屏幕坐标转换为UIView本地点。) 例如,
屏幕坐标 - x:90 y:100 UIView内容 - x:0 y:0 //因为这是UIView对象在屏幕上的位置。
答案 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];