2017-02-01 17 views
0

NSOutlineViewからdoubleClickイベントを捕捉しようとしていますが、これはViewControllerに渡されます。私の考えでは、DoubleClickイベントをキャッチするために、私はこれまでのところ、私は合格する方法がわからないしかしよく働くのmouseDownViewControllerのNSOutlineViewからdoubleClickイベントを取得する方法は?

override func mouseDown(with event: NSEvent) { 
    super.mouseDown(with: event) 
    if event.clickCount >= 2 { 
     ... 
    } 
} 

を上書きするためにNSOutlineViewをサブクラス化して何をしたか、私のOutlineView から選択された行を取得することです私のViewControllerにこのイベント。 ViewControllerは既にNSOutlineViewDelegateプロトコルを実装しています。

解決策は遠くないと思いますが、どういうわけか私は立ち往生しています。あなたはおそらく、直接NSOutlineViewdoubleActionプロパティを使用する必要があり、シングルクリックとOSXでのダブルクリックのNSClickGestureRecognizerためNSGestureRecognizerを設定することができますが

+0

の良い議論があります1回のクリックだけが発生した場合次に、行を選択する必要があります。ダブルクリックすると、別のイベントが発生するはずです。 –

+0

行を選択するだけでなく、別のイベントですか? – Russell

答えて

1

を更新しました。ここで

enter image description here

これは、Wenderlich tutorialsの他から来てそれを設定する方法の例だと、私はまた、選択したいことを追加したいSO already

+0

Cocoaでタップジェスチャーを使用できますか?私はそれを知らなかった。 –

+0

申し訳ありません - 私はOSXについて話していることを忘れていましたが、 'UIGestureRecognizer'ではなくNSGestureRecognizerを使用することができます。答えをhttps://developer.apple.com/reference/appkit/nsgesturerecognizer – Russell

+0

@Russelにお寄せいただき、ありがとうございます。私は私のMacから離れていますが、私が正しくあなたを理解している場合、私は* NSClickGestureRecognizerインスタンス に必要 は*私のNSOutlineViewにgestureRecognizerを追加します(対象:handleGesture:myViewController、アクションを) * myViewController –

関連する問題