我正在尝试在(带有故事板的可可)应用程序窗口中捕获某些控件上的鼠标按下事件。
如果我在mouseDown(with event: NSEvent)
类中覆盖ViewController
,则会遇到两个问题:
快捷键4:
override func mouseDown(with event: NSEvent)
{
let point: NSPoint = event.locationInWindow
let view: NSView = self.view.hitTest(point)!
if type(of:view) == NSTextField.self // with tags is also fine
{
// do something with the control (in the example NSTextField)
// (view as! NSTextField).backgroundColor = NSColor.systemPink
}
}
我有点困惑,为什么对于这样的基本GUI操作,没有鼠标单击所提供的“本机”事件处理程序(通过创建@IBAction
)。
我是否缺少某些东西,或者这是捕获和处理鼠标按下事件的方式?
NSLevelIndicator
,未调用我的重写方法。为什么?答案 0 :(得分:-1)
您必须覆盖NSView mouseDown,而不是NSViewController mouseDown。