我有一个 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/