2015-11-28 3 views
0

У меня есть класс Canvas и другой пользовательский вид CanvasItem оба подкласса NSView. У CanvasItem есть подкатегория IKImageView.Предотвращение IKImageView от обработки жестов

Canvas переопределяет magnifyWithEvent, чтобы реагировать на жест. Все работает отлично, за исключением случая, когда жест делается на одном из CanvasItem s, тогда IKImageView обрабатывает событие и масштабирует изображение вместо того, чтобы передавать его по иерархии вида. Есть ли способ предотвратить IKImageView от обработки жестов?

Я попытался установить editable на false, но без эффекта.

ответ

0

Нашли решение, которое работает на меня. В итоге это было довольно просто: я создал новый подкласс IKImageView, переписал magnifyWithEvent и передал событие следующему ответчику. И затем использовал этот класс вместо оригинала IKImageView.

class MyIKImageView : IKImageView { 
    override func magnifyWithEvent(event: NSEvent) { 
     self.nextResponder?.magnifyWithEvent(event) 
    } 
}