【问题标题】:Mouse Move and ViewController鼠标移动和视图控制器
【发布时间】:2016-02-02 08:49:10
【问题描述】:

为了理解基本概念,我开发了一个简单的 Mac OS X 应用程序来计算分形。该应用程序是一个简单的窗口应用程序,有一个计算分形的类,以及一个包含以下内容的窗口:

  1. 用于显示图像的自定义视图。
  2. 一些用于选择计算参数的控件。这些控件是 与 appdelegate 连接。

一切正常,但是:

  1. 我希望当鼠标悬停在带有图像的视图上时, 一些文本字段实时报告坐标。我必须做什么 要做到这一点吗?
  2. 我想我已经与应用程序委托建立了连接 不是最好的解决方案。

定义一个自定义视图控制器更好吗?如果是这样,我该如何使用界面构建器来引入自定义视图控制器?

【问题讨论】:

  • 尝试以更易读的方式格式化这个问题。也许一些点的枚举列表,如“1)”或“A)”是个好主意。

标签: swift cocoa viewcontroller


【解决方案1】:

您可以只跟踪鼠标事件 MouseMoved

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/HandlingMouseEvents/HandlingMouseEvents.html#//apple_ref/doc/uid/10000060i-CH6-SW1

那么你也许可以这样做:

NSPoint location = [renderView convertPoint:[theEvent locationInWindow] fromView:nil];

然后您将获得相对于包含图像的视图的 X 和 Y。

请注意阅读苹果文档,否则您可能会错过以下内容:

注意:因为鼠标移动事件发生得如此频繁,以至于它们可以 快速淹没事件调度机制,一个 NSWindow 对象 默认不从全局 NSApplication 对象接收它们。 但是,您可以通过发送 NSWindow 对象 setAcceptsMouseMovedEvents: 带有 是的论点。

【讨论】:

  • 非常感谢!工作正常,但我必须添加一个新的 ViewController。
猜你喜欢
  • 2011-12-15
  • 2016-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多