Je souhaite modifier les UITextInputTraits d'un clavier alors qu'il est utilisé ....Est-il possible de changer UITextInputTraits alors qu'un UIKeyboard est en vue?
Code Mon idéal ressemblerait à quelque chose comme ceci:
- (IBAction)nameTextDidChange:(UITextField *)sender {
if ([sender.text isEqualToString:@""]) {
sender.returnKeyType = UIReturnKeyDone;
} else {
sender.returnKeyType = UIReturnKeySearch;
}
}
Alors ... J'ai un autre Bouton 'Return' pour une chaîne vide car je fais une chaîne avec un peu de texte. Le code que j'ai posté ci-dessus ne fonctionne pas, le clavier conserve ses caractéristiques d'entrée de texte originales.
Des idées, ou est-ce que ça ne marchera jamais, peu importe combien j'essaie?
À la votre!
Nick.
Merci à Deepak, voici le code que j'ai utilisé:
if ([sender.text isEqualToString:@""]) {
sender.returnKeyType = UIReturnKeyDone;
[sender resignFirstResponder];
[sender becomeFirstResponder];
} else if (sender.returnKeyType == UIReturnKeyDone) {
NSString *cachedLetter = sender.text;
sender.returnKeyType = UIReturnKeySearch;
[sender resignFirstResponder];
[sender becomeFirstResponder];
sender.text = cachedLetter;
}
Génie, merci beaucoup pour cela. Cela a fonctionné presque parfaitement ... la seule chose qui n'a pas fonctionné était quand vous avez démissionné d'un clavier, vous perdez le texte dans le UITextField - donc j'ai juste dû mettre en cache ça! Je posterai le code exact que j'ai utilisé dans ma question pour les autres. –