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

Jus*_*ers 2 cocoa objective-c

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

我试过这样的事

NSPoint windowOrigin = [[window contentView] convertPoint:NSMakePoint(0,0) fromView:myView];
Run Code Online (Sandbox Code Playgroud)

Cos*_*que 8

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

NSRect viewFrameInWindowCoords = [myView convertRect: [myView bounds] toView: nil];
Run Code Online (Sandbox Code Playgroud)

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

NSView *viewUnderPoint = [[window contentView] hitTest: locationInWindow];
Run Code Online (Sandbox Code Playgroud)