如何在MacOS上为NSButton覆盖mouseDragged函数?

问题描述

我有一个使用NSButton对象的MacOS应用。该按钮设置为“推送”样式,然后键入“推送关闭”。

我创建了一个名为DraggableButton的类,该类试图覆盖该功能

override func mouseDragged(event: NSEvent){
     print("Mouse dragged!")
}

但是,只有在我也重写此函数并避免调用super时,它才会重写它:

mouseDown(event: NSEvent){
     //Do nothing. Everything works
}

如果mouseDown为空,则调用mouseDragged。但是,如果mouseDown调用super.mouseDown(event),或者如果我完全不重写mouseDown,则不会调用mouseDragged。不幸的是,这些操作禁用了正常的mouseDown功能

mouseDown(event: NSEvent){
     super.mouseDown(event: event) //Now mouseDragged stops working
}

简而言之,如何在不破坏mouseDown函数的情况下覆盖mouseDragged?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)