J'ai un champ de texte qui est supposé contenir uniquement des caractères emoji. Est-il possible de limiter le clavier de l'utilisateur à une entrée emoji uniquement, c'est-à-dire désactiver les autres claviers?Limiter le clavier à Emoji
Répondre
types de clavier peuvent être définis dans Interface Builder ou par programme en utilisant ce guide:
typedef enum {
UIKeyboardTypeDefault, // Default type for the current input method.
UIKeyboardTypeASCIICapable, // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
UIKeyboardTypeNumbersAndPunctuation, // Numbers and assorted punctuation.
UIKeyboardTypeURL, // A type optimized for URL entry (shows ./.com prominently).
UIKeyboardTypeNumberPad, // A number pad (0-9). Suitable for PIN entry.
UIKeyboardTypePhonePad, // A phone pad (1-9, *, 0, #, with letters under the numbers).
UIKeyboardTypeNamePhonePad, // A type optimized for entering a person's name or phone number.
UIKeyboardTypeEmailAddress, // A type optimized for multiple email address entry (shows space @ . prominently).
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated
} UIKeyboardType;
Le clavier Emoji est défini comme un clavier de langue séparée et ne peut donc pas être définie par programme. Il est défini par l'utilisateur dans l'application des paramètres. Je suppose, même si c'est lourd, vous pouvez soit alerter votre utilisateur ou avoir un fichier d'aide dans votre application pour dire que pour avoir la meilleure expérience avec votre application, ils devraient activer cela.
Sachez également qu'Apple rejette maintenant les applications qui créent leur propre clavier Emoji personnalisé car il fait partie du système d'exploitation principal.
Merci Jeff, j'avais peur de ça ... Je vais trouver quelque chose! – JohnWickham
Content de pouvoir aider et bonne chance :-) –
Actuellement je travaille sur un projet dans lequel l'exigence est la même que vous et en essayant de chercher la solution, mais je n'ai pas trouvé et j'ai écrit un code qui fonctionne bien pour moi. J'espère que cela fonctionne aussi pour vous. Je sais qu'il est trop tard mais vous aide à l'avenir.
Ma solution est
#pragma mark validate emoji's
-(void)validateEmoji
{
BOOL lowerCaseLetter=0,upperCaseLetter= 0,digit=0,specialCharacter=0;
for (int i = 0; i < [emojiTextField.text length]; i++)
{
unichar c = [emojiTextField.text characterAtIndex:i];
if(!lowerCaseLetter)
{
lowerCaseLetter = [[NSCharacterSet lowercaseLetterCharacterSet] characterIsMember:c];
}
if(!upperCaseLetter)
{
upperCaseLetter = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:c];
}
if(!digit)
{
digit = [[NSCharacterSet decimalDigitCharacterSet] characterIsMember:c];
}
if(!specialCharacter)
{
specialCharacter = [[NSCharacterSet symbolCharacterSet] characterIsMember:c];
}
}
if(lowerCaseLetter || upperCaseLetter || digit || specialCharacter)
{
// if textfield contains special characters,lowercase,uppercase,numeric digits
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Please select only emoji's from Keyboard"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[email protected]"";
[emojiTextField becomeFirstResponder];
emojiTextFieldFlag = false;
}
else
{
emojiTextFieldFlag = true;
// emoji is selected do whatever you want.
}
}
#pragma mark TextField delegate methods
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
if ([textField isEqual:emojiTextField])
{
[emojiTextField resignFirstResponder];
NSLog(@"%@",emojiTextField.text);
// make it blank for next click when comes back
appdelegate.appdelegateEmojiTextFieldClicked [email protected]"";
if (emojiTextFieldFlag)
{
[self saveEmojiJsonParsing];
}
else
{
[emojiTextField becomeFirstResponder];
}
}
return YES;
}
-(void)textFieldDidEndEditing:(UITextField *)textField
{
if ([textField isEqual:emojiTextField])
{
[self validateEmoji];
}
}
- 1. Emoji change mon clavier à son ...
- 2. Création d'un clavier personnalisé comme emoji
- 3. Comment désactiver le clavier emoji dans iOS 7?
- 4. In-App Emoji Keyboard
- 5. Emoji/International Keyboard
- 6. Emoji like Application
- 7. Comment désactiver Emoji clavier dans l'iPhone iOS 5.0
- 8. Offset UITextField - Emoji-layout
- 9. Limiter EditText par programme pour afficher le clavier numérique
- 10. Limiter les raccourcis clavier dans x11vnc
- 11. Comment détecter si l'utilisateur appuie sur le bouton sym ou emoji du clavier android?
- 12. dans Php comment supprimer le code emoji?
- 13. NSLayoutManager, boundingRectForGlyphRange et emoji
- 14. Afficher Emoji dans UITextField
- 15. Emoji Autocomplete comme github?
- 16. Encoder les icônes Emoji
- 17. Convertir unicode en emoji
- 18. Ajouter emoji/émoticône à la table MSSQL
- 19. Emoji dans NSTextView
- 20. Comment limiter le comportement par défaut des touches fléchées du clavier à distance dans Android
- 21. Afficher un sous-ensemble aléatoire d'emojis dans mon clavier emoji personnalisé (application web Django)
- 22. Quitter le clavier sur le bouton «Terminé» du clavier
- 23. Icônes Emoji interrompant l'appel REST
- 24. Utiliser Emoji comme CSS Border
- 25. encodage iPhone Emoji Unicode UTF
- 26. Création d'une application d'inscription Emoji
- 27. Comment envoyer des symboles emoji?
- 28. iOS emoji pour l'application Android. Est-ce légal?
- 29. Désactiver le clavier à l'écran
- 30. limiter le nombre d'images à la suite?
Chaque emoji a peut-être vous pouvez les filtrer un caractère unicode correspondant (U + 1F30x, U + 1F32x, etc.) à partir d'un ensemble de "permis" personnages? –
Hmm, c'est une bonne idée! – JohnWickham