2016-03-26 7 views
4

連絡先アプリのように、選択したセルをテーブルにコピーするオプションを追加します。テーブルセルの「コピー」メニューを表示する方法は?

copy menu

私はObjective-Cの約this questionに従い、スウィフトでこれらのメソッドをimplimentしようとしている:

override func tableView(tableView: UITableView, shouldShowMenuForRowAtIndexPath indexPath: NSIndexPath) -> Bool { 
    return true 
} 

override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool { 
    return (action == #selector(NSObject.copy(_:))) 
} 

しかし、それは古い質問です、と私はにメニューを取得することはできません表示されるのはスイフトコードです。誰かがshouldShowMenuForRowAtIndexPathメソッドがどのように使われているのか、そしてユーザーがセルをコピーできるようにする方法を説明できますか?

答えて

8

あなたはan Objective-C exampleを参照していますが、あなたが言うことをやったことはありません! 2番目の方法は間違った方法です。あなたはこれを言いたい:

override func tableView(tableView: UITableView, canPerformAction action: Selector, 
    forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) 
    -> Bool { 
     return action == #selector(copy(_:)) 
} 

あなたはまた、第三のオーバーライドが必要になります。

override func tableView(tableView: UITableView, performAction action: Selector, 
    forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) { 
     // ... 
} 
関連する問題