我在 NSView
类中重写 keyDown 方法,但是我没有得到任何操作
。
我的代码是这样的:
class Rotund: NSView {
var numar: Int = 0 {
didSet {
self.needsDisplay = true
}
}
override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)
drawCanvas1(number: CGFloat(numar), x: 0)
}
func drawCanvas1(#number: CGFloat, x: CGFloat) {
//// Color Declarations
let color = NSColor(calibratedRed: 0.98, green: 0.008, blue: 0.008, alpha: 1)
//// Oval Drawing
let ovalPath = NSBezierPath(ovalInRect: NSMakeRect(x, 34, number, number))
color.setFill()
ovalPath.fill()
}
override func keyDown(theEvent: NSEvent) {
if theEvent.keyCode == 124 {
println("abc")
} else {
println("abcd")
}
}
有人能帮我弄清楚我该怎么做吗?
最佳答案
只是确认...在您的代码中,您似乎已经覆盖了 KeyUp。所以也许,您应该尝试将其更改为:
override func keyDown(theEvent: NSEvent) {
if theEvent.keyCode == 124 {
println("abc")
} else {
println("abcd")
关于swift - KeyDown 不起作用,Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27578680/