2016-02-02 162 views
0

爲了理解基本概念,我開發了一個簡單的Mac OS X應用程序來計算分形。該應用程序是一個簡單的窗口應用程序,並有一個計算分形的類,以及一個窗口,其中有:鼠標移動和視圖控制器

  1. 用於顯示圖像的自定義視圖。
  2. 選擇計算參數的一些控件。這些控件是與appdelegate連接的 。

一切工作正常,但:

  1. 我想,當鼠標移動到與圖像視圖, 一些文本字段實時上報的座標。我有什麼要 做到這一點?
  2. 我想我與應用代理 所做的連接不是最好的解決方案。

定義一個自定義視圖控制器會更好嗎?如果是這樣,我該如何使用界面生成器來引入自定義視圖控制器?

+0

嘗試以更可讀的方式格式化此問題。也許一些列舉的點如「1」或「A」)將是一個好主意。 – Zegar

回答

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對象和一個參數爲YES的 setAcceptsMouseMovedEvents:消息來專門請求這些事件。

+1

非常感謝! 工作正常,但我不得不添加一個新的ViewController。 – Maqrol