2017-03-22 9 views
0

アクションを実装するときのデフォルトの動作にどのようにフォールバックするのですか?@IBAction:デフォルトの動作に戻る

たとえば、デフォルトのセル編集コピーの動作を維持しながら、テーブル行のコピーを処理したいとします。または、表の列に対してdoubleClickを処理し、他の列のセルをダブルクリックして編集モードに入ることができます。

@IBAction func copy(_ sender: Any) 
{ 
    guard view.window?.firstResponder == myTable && 
     myTable.editedRow == -1 else 
    { 
     // TODO: Don't break default behavior 
     return 
    } 

    // Copy selected rows 
} 
+2

レスポンダチェーンに沿って渡す必要があります。https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html#//apple_ref/doc/uid/10000060i -CH3-SW2 –

答えて

0

あなたがコードで@IBActionを追加すると、それはFirst ResponderReceived ActionsInterface Builderに表示されます。 に対する一つの解決策がある

First Responder

あなたがコードであなたの@IBActionへのReceived Actionの代わりに、直接にを扱いたいSent Actionを接続します。そうすれば、他のコントロールがイベントを処理する機会を得ることができます。

関連する問題