2014年12月9日火曜日

SwiftでOSXアプリ開発・keyDownメソッドが呼ばれなくてハマったけど解決

NSView で KeyDown メソッドを定義したが
呼ばれない。

acceptsFirstResponder を override して
 true を返す必要があるらしいが
( Swiftのソースでは ) acceptsFirstResponder は入力補完で出てこないし
override するとエラーになるので
困っていたが
結局、下記のように記述すればOKだった。

入力補完されなかいからといって、そのメソッドが存在しないというわけではないらしい。



class View: NSView {

    func acceptsFirstResponder() -> Bool {
       
 return true
    }               

    override func keyDown(theEvent: NSEvent) {      
    }


環境
OSX Yosemite
XCode6.1.1



0 件のコメント:

コメントを投稿