2012-05-08 122 views
5

我試圖從UIMenuController中刪除默認菜單項。我發現這個職位的UIWebView或UITextView的:從UIMenuController在TableView中刪除默認剪切,複製和粘貼

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

我試圖爲新的iOS 5的方法,你可以在桌子上選擇顯示菜單項做到這一點。所以我的類是UIViewController的一個子類,它有一個UITableView。我不確定如何或如果刪除默認項目是可能的。謝謝!

回答

-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 
    } 
} 
相關問題