如何在窗口中查找绝对NSView框架位置

时间:2011-02-05 20:20:45

标签: objective-c cocoa

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

我试过这样的事情

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

1 个答案:

答案 0 :(得分:8)

发送convertRect:toView:,第二个参数设置为nil:

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

再想一想,如果你需要进行命中测试,你可能想要做相反的事情:

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