我正在学习Objective-C和Cocoa(在时间允许时适合开始)所以请保持温和。
示例应用程序包含以下行:
NSPoint down = [mouseEvent locationInWindow];
//...some other stuff
NSPoint p = [self convertPoint:down fromView:nil];
然后继续使用p进行拖放操作(使用pasteBoard)。但是,我没有得到的是这一切都在一个视图中,为什么不使用down
,为什么要convertPoint:
?或者我错过了什么基本的东西?
谢谢!
答案 0 :(得分:6)
点“向下”位于窗口的坐标系中 - 它从窗口的角落开始。点“p”在视图的坐标系中。除非这个视图的原点正好恰好位于窗口的原点,并且没有对其坐标系进行转换(例如,使用setBounds :),否则这两个点将不在同一个位置。