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

Del*_*ore 4 objective-c uiview ios

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

CGPoint subContentLocalPoint = subContent.frame.origin ;
CGPoint basePos = [subContent convertPoint:subContentLocalPoint toView:nil] ;
Run Code Online (Sandbox Code Playgroud)

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

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

flu*_*nic 5

屏幕坐标到特定视图:

UIView* specificView = ...;
CGPoint pointInScreen = ...;
CGPoint pointInWindow = [specificView.window convertPoint:pointInScreen fromWindow:nil];
CGPoint pointInView = [specificView convertPoint:pointInWindow fromView:nil];
Run Code Online (Sandbox Code Playgroud)


小智 1

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

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