j'ai un UITextfield
qui a le focus, le curseur est là. Si l'utilisateur appuie sur un bouton, le UITextfield
est vide, je lance un UIAlertView
. Lorsque l'utilisateur appuie sur OK, le UITextField
a toujours le focus mais le curseur disparaît.
Le problème apparaît uniquement sur iOS7, pas sur iOS6.
Comment puis-je résoudre ce bug?
Modifier pour plus d'informations:
le UITextField
c'est le premier intervenant, ce n'est pas le problème, quand je tape, ça marche, mais il n'y a pas de curseur ...
Réponses:
0 pour la réponse № 1Faites en sorte que votre champ de texte soit le premier à répondre dans le délégué de la vue d'alerte.
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
[myTextField becomefirstresponder];}
Merci
0 pour la réponse № 2
Ajouter un délégué du champ de texte dans votre fichier .h
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
//u need to change 0 to other value(,1,2,3) if u have more buttons.then u can check which button was pressed.
if (buttonIndex == 0) { //0 for Ok button index
[self textFieldDidBeginEditing:yourTextFeild];
}
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
UITextPosition *beginning = [textField beginningOfDocument];
[textField setSelectedTextRange:[textField textRangeFromPosition:beginning
toPosition:beginning]];
}
0 pour la réponse № 3
J'ai aussi trouvé le même problème dans ios 7
. Vous ne savez toujours pas la raison, mais vous devriez peut-être définir la tintcolor
propriété de textfield
.
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0"))
{
[[UITextField appearance] setTintColor:[UIColor blueColor]];
}