Me gustaría que el teclado virtual del iPhone aparezca preestablecido en un idioma en particular (por ejemplo, en ruso) cuando el usuario toca un UITextField. ¿Hay alguna manera de hacer esto en el código de Cocoa?Configuración del idioma del teclado del iPhone
Respuesta
Esta es una configuración definida por el usuario y desafortunadamente no puede ser molestada por el programador.
No estoy seguro de por qué quieres hacer esto - No hablo ruso, y estaría un poco alarmado si de repente apareciera un teclado ruso.
El usuario puede elegir el idioma que desea en la aplicación de configuración de iPhone. Eso luego determina qué teclado aparece cuando tocan un campo de texto.
Quiero hacer esto porque estoy escribiendo una aplicación de aprendizaje de idiomas.
Lo que hace que la configuración actual de la selección del teclado en el iPhone sea aún peor (al menos para mí) es que no recuerda el teclado para cada aplicación. De modo que si lo cambia para una aplicación, seguirá siendo el mismo teclado para la siguiente aplicación que abra.
No sé sobre iPhone 3.0 SDK, pero a partir de 2.x, no puede controlar esto. Lo que puedes hacer, sin embargo, es hacer un teclado personalizado. Es mucho más trabajo, pero podrías rehacer los diseños para cada idioma.
Respondiendo a la pregunta sobre el teclado inglés - Apple diseñó para eso - puede usar el teclado ASCII - que puede elegir con: UIKeyboardTypeASCIICapable.
No hay problema en 3.1+. Configuré esto para 3.0:
self.searchBar.keyboardType = UIKeyboardTypeURL;
y aparece el botón de cambio de idioma.
No puede configurar el teclado para su juego de caracteres deseado, pero lo mejor es evitar que el usuario ingrese caracteres de cualquier otro juego de caracteres. El delegado de abajo hace esto y también activa el vibrador del iPhone cuando se ingresan caracteres incorrectos, lo que funciona bien para alertar rápidamente al usuario de que tiene el teclado equivocado seleccionado. Esto es para Corea, pero puede modificar fácilmente para otros idiomas (ver comentarios):
Archivo de cabecera:
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioToolbox.h>
@interface KoreanOnlyInput : NSObject <UITextFieldDelegate>
{
NSMutableCharacterSet* koreanUnicode;
}
@end
archivo .m:
#import "KoreanOnlyInput.h"
@implementation KoreanOnlyInput
- (id)init
{
self = [super init];
if (self) {
// From http://www.unicodemap.org/ :
// 0x1100 - 0x11FF : Hangul Jamo (256)
// 0x3130 - 0x318F : Hangul Compatibility Jamo (96)
// 0xAC00 - 0xD7A3 : Hangul Syllables (11172)
koreanUnicode = [[NSMutableCharacterSet alloc] init];
NSRange range;
range.location = 0x1100;
range.length = 1 + 0x11FF - range.location;
[koreanUnicode addCharactersInRange:range];
range.location = 0x3130;
range.length = 1 + 0x318F - range.location;
[koreanUnicode addCharactersInRange:range];
range.location = 0xAC00;
range.length = 1 + 0xD7A3 - range.location;
[koreanUnicode addCharactersInRange:range];
}
return self;
}
- (void)dealloc
{
[koreanUnicode release];
[super dealloc];
}
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string
{
if ([string isEqualToString:@"\n"])
return YES;
BOOL shouldChange = YES;
for (int i=0; i<[string length]; i++)
{
if (![koreanUnicode characterIsMember:[string characterAtIndex:i]])
shouldChange = NO;
}
if (!shouldChange)
{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
return shouldChange;
}
@end
- 1. Personalización del teclado del iPhone
- 2. Cómo verificar el teclado del iPhone ¿Desea encender/apagar el sonido del teclado en la configuración?
- 3. Encuentra el idioma del teclado Android actual
- 4. iPhone 5 Tamaño del teclado
- 5. Dimensiones del teclado del iPad
- 6. ¿Cuál es la altura del teclado en pantalla del iPhone?
- 7. Disposición del teclado del iPhone para números negativos?
- 8. Localización del diseño del teclado en pantalla
- 9. Mostrar el teclado del iPhone programáticamente
- 10. Cambia el color del teclado en iphone
- 11. teclado del iPhone, botón Listo y resignFirstResponder
- 12. Ocultar el teclado del iPhone usando Javascript
- 13. Detectar el idioma IME del teclado en Android
- 14. Selección del idioma del sitio web
- 15. Mostrando el teclado del iPhone en diferentes idiomas según la entrada del usuario
- 16. iOS: Configuración del idioma principal para la aplicación al localizar
- 17. fecha de visualización del iPhone utilizando una configuración regional de usuario, pero en otro idioma
- 18. Localización de iPhone: ¿recibe el código de idioma del teléfono?
- 19. Teclado numérico del iPad
- 20. Notificación para cambiar la altura del teclado del iPad
- 21. Importar la configuración del teclado Emacs en Eclipse?
- 22. ¿Cómo obtener la configuración regional del idioma del usuario en Objective-C?
- 23. Cómo obtener la configuración regional del sistema y el idioma del sistema en cocoa
- 24. Obtener el nombre del idioma localizado del código de configuración regional
- 25. Idioma del sitio web: use la configuración regional del navegador o la dirección IP
- 26. ¿Detecta la ocultación del teclado del iPad frente a la conexión del teclado externo?
- 27. Activación manual del teclado de iPhone/iPad/iPod desde JavaScript
- 28. Cómo deshabilitar el botón Ir en el teclado del iPhone
- 29. Cambiar el color del tinte del teclado para UITextField
- 30. (ANDROID) que controla el idioma del usuario
No te alarmes si era ruso . – Nestor
Responda la pregunta o simplemente agregue un comentario a la pregunta –