2012-05-08 5 views
5

Ich versuche, die Standardmenüelemente von UIMenuController zu entfernen. Ich fand diesen Beitrag für UIWebview oder UITextView:Entfernen von Standard Ausschneiden, Kopieren, Einfügen von UIMenuController in einem TableView

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

Ich versuche, dies für die neue iOS 5 Methoden zu tun, wo Sie einen Menüpunkt auf dem Tisch Auswahl zeigen. Also meine Klasse ist eine Unterklasse von UIViewController, die eine UITableView enthält. Ich war mir nicht sicher, wie oder ob das Entfernen der Standardelemente möglich war. Vielen Dank!

Antwort

-5

Verwenden Sie diesen Code, um die Standardfunktionen von cut, copy, paste und select zu entfernen:

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

Die Tabellenansicht Delegatmethode -tableView:canPerformAction:forRowAtIndexPath:withSender: ist genau für diesen Zweck. Hier

ein Beispiel:

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