3

I have an UIAlertView with a textfield that shows a default value and two buttons, one to cancel and the other one to confirm. What I am trying to do is that when the alert view is popped up the default value is highlighted so the user can overwrite the whole value faster than manually erasing it.

- (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];

}

For some reason there is a highlighted attribute for the textfield but it doesn't seem to work and there is no trail of that attribute in the Class documentation.

Nathan Van Dyken
  • 342
  • 1
  • 8
  • 21
jigzat
  • 3,498
  • 1
  • 21
  • 23

1 Answers1

2

I had a similar situation. I wanted to prompt the user for a new value, however, I didn't want the original value to disappear, but I also didn't want the text appending to the value.

I ended up calling

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

One thing you might also look out for is you are setting keyboardType and highlighted on campoTexto which is not the text field you're getting from the alert view.

Kudit
  • 4,212
  • 2
  • 26
  • 32