2010-05-21 6 views
3

J'ai un UIAlertView avec un champ de texte qui affiche une valeur par défaut et deux boutons, l'un pour annuler et l'autre pour confirmer. Ce que j'essaye de faire est que quand la vue d'alerte est surgie la valeur par défaut est accentuée ainsi l'utilisateur peut écraser la valeur entière plus rapidement qu'effacer manuellement.Comment surligner du texte automatiquement dans un champ de texte UIAlertView

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Title" message:@"" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Continue",nil]; 
[alert addTextFieldWithValue:@"87893" label:@"value"]; 
UITextField *textField = [alert textField]; 
campoTexto.highlighted = YES; 
campoTexto.keyboardType = UIKeyboardTypeNumbersAndPunctuation; 
[alert show]; 
[alert release]; 

}

Pour une raison quelconque, il est un attribut pour la mise en surbrillance textfield mais il ne semble pas fonctionner et il n'y a aucune trace de cet attribut dans la documentation de classe.

Répondre

1

J'avais une situation similaire. J'ai voulu inviter l'utilisateur pour une nouvelle valeur, cependant, je ne voulais pas que la valeur originale disparaisse, mais je ne voulais pas non plus que le texte s'ajoute à la valeur.

Je fini par appeler

[alertView show]; 
[textField selectAll:self]; 

Une chose que vous pourriez également regarder dehors pour est que vous définissez keyboardType et mis en surbrillance sur campoTexto qui est pas le champ de texte que vous obtenez de l'affichage des alertes.

Questions connexes