2012-05-08 12 views
5

UIMenuControllerからデフォルトのメニュー項目を削除しようとしています。私はのUIWebViewやUITextViewのために、この記事を見つけました:TableViewのUIMenuControllerからデフォルトのカット、コピー、ペーストを削除します。

How to remove the default UIMenuItem from the UIMenuController in iOS?

私はあなたがテーブルの選択にメニュー項目を表示することができ、新規のiOS 5のメソッドのためにこれをやろうとしています。だから私のクラスは、UITableViewを持っているUIViewControllerのサブクラスです。どのようにしてデフォルト項目を削除することが可能かわからなかった。ありがとう!

答えて

-5

cutcopypasteselectのデフォルトの機能を削除するには、このコードを使用します。

(BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    UIMenuController * menuContoller=[UIMenuController sharedMenuController];  
    if (menuContoller) 
    { 
     [UIMenuController sharedMenuController].menuVisible=NO; 
    } 
    return NO; 
} 
1

テーブルビューデリゲートメソッド-tableView:canPerformAction:forRowAtIndexPath:withSender:を、まさにこのためです。ここで

は一例です:

override func tableView(tableView: UITableView, canPerformAction action: Selector, forRowAtIndexPath indexPath: NSIndexPath, withSender sender: AnyObject?) -> Bool { 
    switch action { 
    case Selector("cut:"), Selector("copy:"), Selector("paste:"): 
     return false // as per your question 
    case Selector("myAction:"): 
     return true 
    default: 
     return false 
    } 
} 
関連する問題