0
Я нахожу mouseDown, но не mouseMoved. Как это можно вызвать mouseMoved? Вот мой код:Мышь NSViewMoved никогда не будет называться
@available(OSX 10.10, *)
class MainView: NSView{
override var acceptsFirstResponder: Bool { return true }
override func draw(_ dirtyRect: NSRect){
titledString.draw(at:NSPoint(x:20,y:40))
}
override func mouseDown(with event: NSEvent){
//print("Mouse down")
printMouseDown()
}
override func mouseMoved(with event: NSEvent){
//print("Mouse down")
super.mouseMoved(with:event)
printMouseMove()
}
}
что это? как я могу изменить коды
p.s. здесь коды драйверов:
@available(OSX 10.10, *)
class AppDelegate: NSObject, NSApplicationDelegate {
let window = NSWindow()
func applicationDidFinishLaunching(_ notification: Notification){
window.setContentSize(NSSize(width:200, height:160))
window.styleMask = [.titled, .closable, .miniaturizable]
window.level = 1
window.title = "Test"
window.acceptsMouseMovedEvents = true
window.contentView = MainView()
window.center()
window.makeKeyAndOrderFront(window)
}
}
if #available(OSX 10.10, *){
let app = NSApplication.shared()
let appDelegate = AppDelegate()
app.delegate = appDelegate
app.run()
}
не понимаю. Не могли бы вы сказать больше? – Choasgtfe
Событие MouseMouved необходимо, чтобы его делегат работал. Таким образом, вы должны поместить эту строку в awakeFromNib, viewWillAppear или что-то еще. – StrawHara
В последнем быстром: https://developer.apple.com/reference/appkit/nsview, он обесценивается – Choasgtfe