Im hablando del menú que aparece cuando selecciona un bloque de texto que le da la opción de cortar/pegar/copiar. Descubrí cómo agregar una opción más al menú, pero si agrego dos o más opciones, primero dirá "más". Al hacer clic en él, se mostrarán todas las opciones que agregué. Pero, ¿hay alguna manera de mostrar todas las opciones que agregué por adelantado? sin el elemento de menú "más"?menú de contexto de iPhone/iPad
Respuesta
Necesita usar un UIMenuController. Si no desea copiar/pegar/cortar, podrás incluir algo como esto en su canPerformAction:
método:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if(action == @selector(someSelector:))
return YES;
else
return NO;
}
Creación de un nuevo elemento de menú es el siguiente:
UIMenuItem *someAction = [[UIMenuItem alloc]initWithTitle:@"Something" action:@selector(doSomething:)];
UIMenuController *menu = [UIMenuController sharedMenuController];
menu.menuItems = [NSArray arrayWithObject:someAction];
[menu update];
Asumo su hablando de UIMenuController
. Si no desea ver Copiar/Pegar/Cortar/Borrar/Seleccionar/Seleccionar Todo tendrá que añadir el siguiente código a su UITextField
's o UITextView
' s delegado:
- (BOOL)canPerformAction: (SEL)action withSender: (id)sender {
BOOL answer = NO;
if (action == @selector(item1)) {
answer = YES;
}
if (action == @selector(item2)) {
answer = YES;
}
return answer;
}
Dónde item1
y son item2
los nombres de los objetos en UIMenuController.menuItems
.
En mi experiencia, si usted está usando un UITextView
el copiar, pegar, cortar y seleccionar todos los elementos de menú seguirá siendo, en este caso, agregue el código siguiente a una subclase de UITextView
.
- (BOOL) canPerformAction:(SEL)action withSender:(id)sender {
if (action == @selector(cut:) || action == @selector(copy:) || action == @selector(paste:) || action == @selector(selectAll:)) {
return YES;
}
}
No quiero deshabilitar esas opciones, necesito agregar dos opciones personalizadas más. – Melina
- 1. Menú de contexto de un ListFragment
- 2. Invocar el menú de contexto de NotifyIcon
- 3. Editar menú original contexto Nautilus
- 4. Programatically ejecutar Windows Explorer elementos de menú de contexto
- 5. Obtener propietario del menú de contexto en el código
- 6. WPF Menú de contexto en el botón izquierdo
- 7. El menú de contexto de WPF no se enlaza al elemento de datos correcto
- 8. Menú de contexto para una barra de herramientas de Internet Explorer
- 9. ¿Cómo puedo hacer que mi Menú de contexto WPF desaparezca cuando el usuario hace clic fuera del menú?
- 10. ¿Qué significa la opción del menú de contexto de texto DFM?
- 11. contexto de cierre de Scala
- 12. Detectando un menú de contexto pegar en el navegador con jquery
- 13. ¿Cómo volver a asignar la clave "Menú de contexto" en Mac OS X?
- 14. ¿Menú de contexto global para cortar/copiar/pegar con JTextField en la aplicación Swing?
- 15. menú contextual jquery desactivar elementos de menú
- 16. Jerarquía de contexto de primavera con contexto de aplicación web
- 17. "Carga difusa" de datos de un procesador de contexto
- 18. WPF Menús de contexto en Caliburn Micro
- 19. contexto de la aplicación SharedPreferences frente al contexto de actividad
- 20. Diferencia entre contexto de actividad y contexto de aplicación
- 21. Cómo iniciar un intento si el contexto no es Contexto de actividad sino contexto de aplicación
- 22. Alinear grupo de menú a elemento de menú
- 23. icono de Windows Shell menú contextual
- 24. gestión de contexto Tomcat
- 25. Contexto jerárquico de primavera
- 26. opción de contexto $ .ajax
- 27. Gramáticas libres de contexto versus gramáticas sensibles al contexto?
- 28. Menú contextual de TabControl
- 29. Menú de macro IntelliJ
- 30. Contexto de dibujo de NSView
No es que no quiera eso. Necesito agregar dos elementos de menú más. – Melina
Luego sigues usando algo como lo publiqué, pero en lugar de hacer @selector (copiar :), cambiarlo a algo como @selector (copyText :), luego implementar tu propio método copyText (vacío) que realiza la copia. Entonces sus otros artículos no serán empujados al menú más. – christo16
¿Puedo cambiar el texto del elemento del menú? – Melina