鼠标移动和ViewController

时间:2016-02-02 08:49:10

标签: swift cocoa viewcontroller

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

  1. 显示图片的自定义视图。
  2. 选择计算参数的一些控件。这些控件是 与appdelegate联系。
  3. 一切正常,但是:

    1. 我希望当鼠标在图像上方时,     一些文本字段实时报告坐标。我有什么     要意识到这一点吗?
    2. 我想我已经与app委托建立了联系     不是最好的解决方案。
    3. 定义自定义视图控制器会更好吗?如果是这样,我该如何使用界面构建器引入自定义视图控制器?

1 个答案:

答案 0 :(得分: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.

小心阅读Apple文档,否则您可能会错过:

  

注意:因为鼠标移动的事件频繁发生,所以它们可以   迅速淹没事件调度机制,一个NSWindow对象   default不会从全局NSApplication对象接收它们。   但是,您可以通过发送来专门请求这些事件   NSWindow对象是一个setAcceptsMouseMovedEvents:消息   是的论点。