4
我见过很多如何将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对象是上屏幕。
变化'toView:''到fromView:'。 – rmaddy 2014-10-01 03:40:17
另请注意,在视图和屏幕坐标之间转换是一个两步过程。 'convertPoint:toView:'和'convertPoint:fromView:'转换窗口坐标和从窗口坐标转换。您仍然必须在正确的'UIWindow'上使用'convertPoint:toWindow:'和'convertPoint:fromWindow:'将这些窗口坐标转换为屏幕坐标/从屏幕坐标转换。 – fluidsonic 2014-10-01 03:56:52
@fluidsonic OP是要求屏幕坐标,而不是窗口。所以传递'nil'并使用一次转换就足够了。即使转换是来自“UIView”和“UIWindow”,它仍然可以一步完成。只需通过窗口即可查看。 – rmaddy 2014-10-01 04:04:14