我有类Canvas和另一个自定义视图CanvasItem都是NSView的两个子类。 CanvasItem有一个IKImageView子视图。

Canvas覆盖magnifyWithEvent以对手势做出反应。除了在CanvasItem之一上完成手势然后IKImageView处理事件并缩放图像而不是将其向上传递到视图层次结构的情况之外,其他所有内容都可以正常工作。这是防止IKImageView处理手势的方法吗?

我尝试将editable设置为false,但是没有任何效果。

最佳答案

找到了适合我的解决方案。最后,它非常简单:我创建了一个新的IKImageView子类,重写了magnifyWithEvent并将事件传递给下一个响应者。然后使用此类代替原始的IKImageView

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

09-10 00:14