2012-05-08 10 views
5

Próbuję usunąć domyślne elementy menu z UIMenuController. Znalazłem ten post do UIWebView lub UITextView:Usuwanie domyślnego wycinania, kopiowania, wklejania z UIMenuController w TableView

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

Próbuję to zrobić dla nowych iOS 5 Metody gdzie można pokazać menu na wybór tabeli. Tak więc moja klasa jest podklasą UIViewController, która ma w sobie UITableView. Nie byłem pewien, w jaki sposób IF może usunąć domyślne elementy. Dzięki!

Odpowiedz

-5

użyć tego kodu, aby usunąć funkcje domyślne cut, copy, paste i select:

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

Widok tabeli delegat metoda -tableView:canPerformAction:forRowAtIndexPath:withSender: jest do tego celu dokładnie.

Oto przykład:

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