В Какао, как мой NSView может получить событие, когда мышь удерживается (но не перемещается)? - PullRequest
1 голос
/ 11 августа 2010

Я ищу правильный способ обработки событий "мышь удерживается в одном месте" в моем подклассе NSView.

Я знаком с событием mouseDragged: в Cocoa, но оно срабатывает толькокогда мышь двигается.Если мышь остается в той же позиции, событие перетаскивания не вызывается.Точно так же mouseDown: срабатывает только при первом нажатии кнопки.Мой взгляд должен выполнять действие, пока мышь удерживается в определенном регионе.

Как правильно делать такие вещи?

Ответы [ 2 ]

3 голосов
/ 11 августа 2010

Можете ли вы начать выполнение действия, когда вы получаете событие mouseDown:, и прекратить, когда вы получаете mouseUp: (или mouseDragged:, если вы тоже хотите остановить)?

2 голосов
/ 12 августа 2010

Я не уверен, что именно вы пытаетесь выполнить, но если вы хотите, чтобы действие повторялось через заданные интервалы времени после mouseDown:, вы можете установить повторяющийся NSTimer в методе mouseDown:, который получает отменяется, как только происходит событие mouseDragged: или mouseUp:.

...