objective-c - NSView鼠标跟踪

标签 objective-c macos cocoa

我在 Mac OS X 上遇到 Cocoa NSView 的奇怪行为。

我在 NSView 容器中有一个自定义 NSView,这个自定义 NSView 跟踪鼠标移动、点击,并有一个工具提示。 当我在描述的 View 上方添加 NSView 时,即使带有工具提示的 View 在下方、后面且不可见,我仍然可以看到工具提示。

我很确定我误解了事件处理链中的某些内容。非常感谢任何帮助!

最佳答案

核心问题是您不应该在 Cocoa 中有重叠的 View 。或者至少,行为然后变得不确定。一个 View 可以是另一个 View 的 subview ,但不仅仅是另一个 View 范围内的兄弟。

但是,解决您的特定问题的一种方法是使用 setHidden: 方法隐藏下面的 View 。

关于objective-c - NSView鼠标跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225573/

相关文章:

xcode - applicationDidFinishLaunching 未调用

c++ - EXC_BAD_ACCESS 抛出异常

macos - Mac,known_hosts 位置不是默认的?

objective-c - NSTokenField 选择列表在滚动时显示空白

ios - 像Sunrise一样修改EventKit中的EKParticipants(与会者)

iphone - iOS开发中关于layer.shadow

iphone - 为 UIView 获取 "unrecognized selector sent to instance"

ios - 哪个更好 : many controls or code to arrange the controls?

objective-c - 获取 Objective-C 中指定路径下具有特定扩展名的文件列表

cocoa - 为什么必须使用 CALayer 的presentationLayer 来进行 HitTest ?