Pourquoi utiliser différents types de saisie ?
Le type de saisie au clavier nous aide à obtenir la saisie requise de l'utilisateur.
Il supprime les touches inutiles et inclut les parties requises. Les utilisateurs peuvent définir le type de saisie en utilisant la propriété keyboard de UITextField.
- Par exemple : champ de texte (textField). keyboardType = UIKeyboardTypeDefault
Types de saisie au clavier
| Type de saisie | Description |
|---|---|
| UIKeyboardTypeASCIICapable | Le clavier inclut tous les caractères ASCII standard. |
| UIKeyboardTypeNumbersAndPunctuation | Le clavier affiche les chiffres et la ponctuation. |
| UIKeyboardTypeURL | Le clavier est optimisé pour la saisie d'URL. |
| UIKeyboardTypeNumberPad | Le clavier est utilisé pour la saisie de code PIN et affiche un pavé numérique. |
| UIKeyboardTypePhonePad | Le clavier est optimisé pour la saisie de numéros de téléphone. |
| UIKeyboardTypeNamePhonePad | Le clavier est utilisé pour saisir des noms ou des numéros de téléphone. |
| UIKeyboardTypeEmailAddress | Le clavier est optimisé pour la saisie d'adresses e-mail. |
| UIKeyboardTypeDecimalPad | Le clavier est utilisé pour saisir des nombres décimaux. |
| UIKeyboardTypeTwitter | Le clavier est optimisé pour les symboles @ et # de Twitter. |
Ajouter une méthode personnalisée addTextFieldWithDifferentKeyboard
-(void) addTextFieldWithDifferentKeyboard{
UITextField *textField1= [[UITextField alloc]initWithFrame:
CGRectMake(20, 50, 280, 30)];
textField1.delegate = self;
textField1.borderStyle = UITextBorderStyleRoundedRect;
textField1.placeholder = @"Default Keyboard";
[self.view addSubview:textField1];
UITextField *textField2 = [[UITextField alloc]initWithFrame:
CGRectMake(20, 100, 280, 30)];
textField2.delegate = self;
textField2.borderStyle = UITextBorderStyleRoundedRect;
textField2.keyboardType = UIKeyboardTypeASCIICapable;
textField2.placeholder = @"ASCII keyboard";
[self.view addSubview:textField2];
UITextField *textField3 = [[UITextField alloc]initWithFrame:
CGRectMake(20, 150, 280, 30)];
textField3.delegate = self;
textField3.borderStyle = UITextBorderStyleRoundedRect;
textField3.keyboardType = UIKeyboardTypePhonePad;
textField3.placeholder = @"Phone pad keyboard";
[self.view addSubview:textField3];
UITextField *textField4 = [[UITextField alloc]initWithFrame:
CGRectMake(20, 200, 280, 30)];
textField4.delegate = self;
textField4.borderStyle = UITextBorderStyleRoundedRect;
textField4.keyboardType = UIKeyboardTypeDecimalPad;
textField4.placeholder = @"Decimal pad keyboard";
[self.view addSubview:textField4];
UITextField *textField5= [[UITextField alloc]initWithFrame:
CGRectMake(20, 250, 280, 30)];
textField5.delegate = self;
textField5.borderStyle = UITextBorderStyleRoundedRect;
textField5.keyboardType = UIKeyboardTypeEmailAddress;
textField5.placeholder = @"Email keyboard";
[self.view addSubview:textField5];
UITextField *textField6= [[UITextField alloc]initWithFrame:
CGRectMake(20, 300, 280, 30)];
textField6.delegate = self;
textField6.borderStyle = UITextBorderStyleRoundedRect;
textField6.keyboardType = UIKeyboardTypeURL;
textField6.placeholder = @"URL keyboard";
[self.view addSubview:textField6];
}
Mettre à jour viewDidLoad dans ViewController.m comme indiqué ci-dessous
(void)viewDidLoad
{
[super viewDidLoad];
//The custom method to create textfield with different keyboard input
[self addTextFieldWithDifferentKeyboard];
//Do any additional setup after loading the view, typically from a nib
}
Sortie
Maintenant, lorsque nous exécutons l'application, nous obtenons la sortie suivante :
La sélection de différents champs de texte affichera différents claviers.
Autres extensions