Im parlando del menu che appare quando si seleziona un blocco di testo che ti dà la possibilità di tagliare/incollare/copiare. Ho capito come aggiungere un'altra opzione al menu, ma se aggiungo due o più opzioni dirà prima "more". facendo clic su di esso verranno visualizzate tutte le opzioni che ho aggiunto. Ma c'è un modo per mostrare tutte le opzioni che ho aggiunto in anticipo? senza la voce di menu "Altro"?Menu contestuale iPhone/iPad
risposta
È necessario utilizzare un UIMenuController. Se non si desidera Copia/Incolla/Taglia, si includere qualcosa di simile nel tuo canPerformAction:
metodo:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if(action == @selector(someSelector:))
return YES;
else
return NO;
}
Creazione di una nuova voce di menu simile a questo:
UIMenuItem *someAction = [[UIMenuItem alloc]initWithTitle:@"Something" action:@selector(doSomething:)];
UIMenuController *menu = [UIMenuController sharedMenuController];
menu.menuItems = [NSArray arrayWithObject:someAction];
[menu update];
Presumo tua parlando di UIMenuController
. Se non si desidera visualizzare Copia/Incolla/Taglia/Elimina/Select/SelectAll sarà necessario aggiungere il seguente codice al tuo UITextField
's o UITextView
' s delegato:
- (BOOL)canPerformAction: (SEL)action withSender: (id)sender {
BOOL answer = NO;
if (action == @selector(item1)) {
answer = YES;
}
if (action == @selector(item2)) {
answer = YES;
}
return answer;
}
Dove item1
e item2
sono i nomi degli oggetti in UIMenuController.menuItems
.
Nella mia esperienza se si utilizza un UITextView
le voci di menu Copia, Incolla, Taglia e Seleziona tutto rimarranno, in questo caso aggiungere il seguente codice a una sottoclasse di UITextView
.
- (BOOL) canPerformAction:(SEL)action withSender:(id)sender {
if (action == @selector(cut:) || action == @selector(copy:) || action == @selector(paste:) || action == @selector(selectAll:)) {
return YES;
}
}
Non voglio disabilitare queste opzioni, ho bisogno di aggiungere altre due opzioni personalizzate. – Melina
- 1. come chiamare menu contestuale
- 2. Menu contestuale WPF e ListView
- 3. Android Listener respingere menu contestuale
- 4. QTab menu di scelta rapida del menu contestuale
- 5. di Windows menu contestuale shell icona
- 6. C# Aggiungi checkbox al menu contestuale WinForms
- 7. Crea elemento personalizzato in jsTree Menu contestuale
- 8. Come implementare il menu contestuale per NSCollectionView
- 9. Modifica stile editatext stile popup menu contestuale
- 10. L'integrazione in Windows Explorer menu contestuale
- 11. jQuery Menu contestuale del tasto destro Aiuto!
- 12. Mostra casella di controllo Menu Menu o Menu contestuale di un pulsante
- 13. Mostra menu contestuale con un clic breve non lungo Click
- 14. Aggiungi metodo in Android Copia/Incolla Menu contestuale globale?
- 15. menu contestuale per la rimozione di elementi in listview
- 16. Mostra menu contestuale su clic sinistro utilizzando solo XAML
- 17. Rilevamento di un menu contestuale incolla nel browser con jquery
- 18. WPF: Visualizzazione di un menu contestuale articoli di un GridView
- 19. Ottieni un elemento selezionato in listview quando generi menu contestuale
- 20. Come aggiungere un menu contestuale a C# (VS 2008)?
- 21. Disabilita menu di selezione contestuale a strisce pedonali (Cordova)
- 22. Come creare il menu contestuale usando il file XML?
- 23. jQuery Right Mouse fa clic sul menu contestuale plug-in
- 24. Aggiungi 'Cancellare le cartelle vuote' al menu contestuale di Windows
- 25. VSTO (a livello di documento): menu contestuale individuale in Excel (menu clic destro)
- 26. Chiusura Menu Contesto con Menu Menu Templati
- 27. Come aggiungere una voce di menu al menu contestuale di Excel 2010 - il vecchio codice non funziona
- 28. Aiuto contestuale Eclipse
- 29. Gadget contestuale Gmail interrotto
- 30. Gadget contestuale Gmail
Non è che non voglio quelli. Devo aggiungere altre due voci di menu. – Melina
Quindi si usa ancora qualcosa come ho postato, ma piuttosto che fare @selector (copia :), cambiarlo in qualcosa come @selector (copyText :), quindi implementare il proprio - (void) metodo copyText che esegue la copia. Quindi gli altri tuoi articoli non verranno spinti al menu più. – christo16
posso modificare il testo della voce di menu? – Melina