2016-02-02 2 views
0

Для того, чтобы понять основные понятия, я разработал приложение Mac OS X для вычисления фракталов. Приложение представляет собой простое оконное приложение и имеет класс, который вычисляет фрактал, и одно окно, в котором есть:Мышь Move and ViewController

  1. пользовательский вид для показа изображения.
  2. некоторые элементы управления для отдельных параметров расчета. Этими элементами управления являются , связанные с appdelegate.

Все работает отлично, но:

  1. Я хотел бы, что, когда мышь находится над видом с изображением, некоторые текстовые поля сообщают в режиме реального времени координаты. Что я должен сделать сделать, чтобы понять это?
  2. Я полагаю, что соединение, которое я сделал с делегатом приложения , не является лучшим решением.

Лучше ли определить пользовательский контроллер вида? Если да, то как я могу сделать, чтобы ввести пользовательский контроллер просмотра с помощью построителя интерфейса?

+0

Постарайтесь отформатировать этот вопрос более удобным для чтения способом. Возможно, некоторые перечислимые списки таких точек, как «1» или «А», были бы хорошей идеей. – 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 по default не получает их от глобального объекта NSApplication. Однако вы можете запросить эти события, отправив объекту NSWindow сообщение setAcceptsMouseMovedEvents: с аргументом YES.

+1

Большое спасибо! Отлично работает, но мне пришлось добавить новый ViewController. – Maqrol