2012-05-08 11 views
5

Estoy tratando de eliminar los elementos de menú predeterminados de UIMenuController. He encontrado este post para UIWebView o UITextView:Eliminar el corte, copiar y pegar por defecto de UIMenuController en un TableView

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

que estoy tratando de hacer esto para el nuevo iOS 5 métodos donde se puede mostrar un elemento de menú en la selección de la tabla. Entonces mi clase es una subclase de UIViewController que tiene una UITableView en ella. No estaba seguro de cómo o SI era posible eliminar los elementos predeterminados. ¡Gracias!

Respuesta

-5

Use este código para eliminar las funciones por defecto de cut, copy, paste y select:

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

La vista tabla de métodos delegado -tableView:canPerformAction:forRowAtIndexPath:withSender: es exactamente para este propósito.

Aquí se muestra un ejemplo:

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