objective-c - 鼠标悬停时的 NSPopOver

标签 objective-c cocoa nstableviewcell nspopover

当我将光标放在 TableView 的单元格上时,我需要显示一个弹出窗口。在 OS X 应用程序上,当鼠标悬停在 NSTableViewCell 上时显示 NSPopover 的技术是什么?谢谢

最佳答案

为您的 TableView 实现 mouseMoved: 消息,并从那里调用 performSelector:withObject:afterDelay: 。在执行此操作之前(以及在 dealloc 中),使用 NSObject:cancelPreviousPerformRequestsWithTarget:selector:object 取消以前的请求。当鼠标移动时,这将不断重新启动计时器。给定的选择器将在延迟结束后执行,并且此后鼠标没有移动过。然后,您可以在选择器中获取当前鼠标位置并显示弹出窗口。

当鼠标再次开始移动时,不要忘记删除弹出框。

关于objective-c - 鼠标悬停时的 NSPopOver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15155928/

相关文章:

ios - iOS 是否支持基于 View 的 TableView ?

objective-c - NSButtonCell 操作的问题

ios - 当我尝试运行我的应用程序时 Xcode 6.1 崩溃

objective-c - 如何将自定义对象的 NSArray 存档到 Objective-C 中的文件

ios - 如何从 didFinishPickingMediaWithInfo 返回 NSString 或 NSUrl?

cocoa - Mac 的窗口对接建议

macos - 自定义 NSButton 绘图会扰乱文本渲染

objective-c - NSTreeController 显示重复实体的建议解决方案

xcode - 更改 IBAction 上的按钮边框属性

swift - NSTableView rowForView 始终为 -1