cocoa - 如何让 NSView 移动到所有 NSView 的前面

标签 cocoa nsview

我有一个 super View ,它有 2 个 subview 。 这些 subview 是重叠的。

每当我从菜单中选择一个 View 时,相应的 View 应该成为前 View 并处理操作。 即,它应该是最前面的 subview 。

acceptsFirstResponder 放弃所有工作。 但是鼠标按下事件会发送到设置的最上面的 subview 。

问候, 达纳

最佳答案

这是实现此目的的另一种方法,它更加清晰和简洁:

[viewToBeMadeForemost removeFromSuperview];
[self addSubview:viewToBeMadeForemost positioned:NSWindowAbove relativeTo:nil];

根据此方法的文档,当您使用 relativeTo:nil 时, View 将添加到其所有同级 View 的上方(或下方,使用 NSWindowBelow)。

关于cocoa - 如何让 NSView 移动到所有 NSView 的前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872840/

相关文章:

swift - 无法在 NSClipView 中正确堆叠 View

objective-c - OSX 中的 webview 内存泄漏

c++ - 从沙盒应用程序运行 clang 编译器的任何可能方法?

objective-c - 如何让NSWindow在打开后立即接受mouseMove事件?

swift - cocoa swift : WKWebView is not showing when is add it as subview

cocoa - NSToolbarItem 宽 32 点

cocoa - 使用 NSViewController 加载 Nib 后...如何访问 Nib 中的 NSButton?

swift - 在动态创建的 NSButton 复选框上获取发件人

objective-c - 来自脚本语言(Lua、Ruby 等)的 Cocoa 桥是否需要 MacOS 上的编译部分才能工作?

objective-c - 在 Objective-C 和 Cocoa 中,是否有一个函数 debug_print(foobar) 可以打印出变量的名称并转储它的值?