2010-11-30 24 views
3

Dans mon application iPad, il y a une UIWebview qui affiche du contenu textuel. Lorsque je clique sur hold et sélectionne un texte, un menu devrait apparaître avec 2 menus personnalisés.uimenucontroller dans uiwebview avec des éléments de menus personnalisés sans MORE menu

dites, | MENU1 | MENU2 |

Mais il semble que le menu COPY accompagne également, ce que je n'ai pas pu désactiver. Est-il possible de le désactiver? J'ai essayé autour du forum et aucune solution n'a fonctionné.

donc itz correct de garder le menu copie avec l'autre 2. qui devrait ressembler à

| Copier | MENU1 | MENU2 |

Mais malheureusement, je ne suis pas se il affiche un menu plus comme suit:

| Copier | Plus ... |

Cliquer sur le menu Plus ... affiche l'autre menu.

Mais j'ai besoin que tous ces 2 éléments soient affichés dans la première tentative elle-même. soit seulement les 2 menus seuls, soit au moins avec le menu de copie.

| Copier | MENU1 | MENU2 |

OU

| MENU1 | MENU2 |

Retrouve moi une solution s'il vous plaît .... l'essayer à bien des égards .. Mais rien ne fonctionne ... à Plz me aider ...

Merci, Brian

Répondre

2

Il n'apparaît pas qu'il existe un moyen de le faire sans remplacer le UIMenuController. Une option consiste à gérer votre propre UILongPressGestureRecognizer (voir How to remove th COPY UIMenuItem in UIMenuController). J'ai vu des propositions où vous surchargez canPerformAction, mais cela ne fonctionne pas. Fait intéressant, l'action "copy:" n'est jamais appelée, bien qu'il semble que tout le reste (cut:, select:, etc.) L'est.

- (BOOL) canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(defineSelection:)) 
    { 
     return YES; 
    } 
    else if (action == @selector(translateSelection:)) 
    { 
     return YES; 
    } 
    else if (action == @selector(copy:)) 
    { 
     return NO; 
    } 

    return [super canPerformAction:action withSender:sender]; 
} 

`

+1

ne fonctionne pas du tout. – Dmitry