2011-02-05 82 views
1

我有一个复杂的NSViews层次结构,我如何在窗口中找到视图的框架或能够检查窗口中的某个点是否在视图框架中?如何在窗口中找到绝对NSView框架位置

我想是这样的

NSPoint windowOrigin = [[window contentView] convertPoint:NSMakePoint(0,0) fromView:myView]; 

回答

6

发送convertRect:toView:设置为零的第二个参数:

NSRect viewFrameInWindowCoords = [myView convertRect: [myView bounds] toView: nil]; 

退一步讲,如果你需要执行命中测试,您可能希望做相反的事情:

NSView *viewUnderPoint = [[window contentView] hitTest: locationInWindow];