2017-02-20 15 views
2

NSCollectionView内の項目をダブルクリックしてアクションを実装したいと思います。 NSCollectionViewItemmouseDownイベントを使用する場合は何のコレクションビューのデリゲートメソッドはもう解雇もなく、アイテムのプロパティにisSelected仕事をしている:MouseDownイベントはNSCollectionViewデリゲートメソッドを防止します

NSCollectionViewItem.swiftmouseDownイベント:私はクリックイベントを処理する必要がありますどのように

override func mouseDown(with event: NSEvent) { 

    if event.clickCount > 1 { 
     //do something 
    } 
} 

同時にCollectionViewItemsCollectionViewデリゲートメソッドに?

NSTableview以外又はNSOutlineViewNSCollectionViewための実装doubleAction方法は存在しません。どちらが悲しいですか。

ありがとうございました!

+0

[ViewControllerのNSOutlineViewからdoubleClickイベントを取得する方法は?](http://stackoverflow.com/questions/41989426/how-to-catching-doubleclick-events-from-nsoutlineview-in-viewcontroller) – Willeke

+0

@ウィレーク、重複する回答はありません。残念ながら、 'NSCollectionView'統合には' doubleAction'メソッドはありません。 – JFS

+1

申し訳ありません、 'NSCollectionView'と' NSOutlineView'を混在させました。シングルクリックを自分で処理しない場合は、 'super.mouseDown(with:event)'を呼び出します。 – Willeke

答えて

0

mouseDown(with event: NSEvent)を上書きする場合は、super.mouseDown(with: event)を呼び出してください。それ以外の場合、あなたのcollectionViewデリゲートメソッドは呼び出されません。

私は彼のコメント(完璧な点について)を他の誰かが見逃したくないので、上記のコメントの@Willeke解決策を盗んではいけません!ウィレケが答えたいなら、私はこれを削除します。

関連する問題