2012-05-08 9 views
5

Sto tentando di rimuovere le voci di menu predefinite da UIMenuController. Ho trovato questo post per UIWebView o UITextView:Rimozione del taglio, copia, incolla da UIMenuController in un TableView

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

che sto cercando di fare questo per il nuovo iOS 5 metodi in cui è possibile mostrare una voce di menu sulla selezione tavolo. Quindi la mia classe è una sottoclasse di UIViewController che ha un UITableView in esso. Non ero sicuro di come o se la rimozione degli articoli predefiniti fosse possibile. Grazie!

risposta

-5

Usa questo codice per rimuovere le funzioni di default cut, copy, paste e select:

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

La vista tabella metodo delegato -tableView:canPerformAction:forRowAtIndexPath:withSender: è per questo scopo esattamente.

Ecco un esempio:

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 
    } 
}