iosxcodealertview

How to add textfield to an alert view? Xcode 4.5 iOS6


How do I add a textfield to the alertview? I'm trying to do an app where before the app commits the editing, the user must authenticate 1st by typing his/her password on the said alertview but how can I do this? It seems like the code I've searched doesn't work anymore. Here it is:

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Log In" message:@"Please enter your Password" delegate:self cancelButtonTitle:@"Log In" otherButtonTitles:@"Cancel", nil];
    [alert addTextFieldWithValue:@"" label:@"Password"];
    UITextField *tf = [alert textFieldAtIndex:0];
    tf.clearButtonMode = UITextFieldViewModeWhileEditing;
    tf.keyboardType = UIKeyboardTypeAlphabet;
    tf.keyboardAppearance = UIKeyboardAppearanceAlert;
    tf.autocapitalizationType = UITextAutocapitalizationTypeWords;
    tf.autocapitalizationType = UITextAutocorrectionTypeNo;

the error said

 "No visible @interface for 'UIAlertView' 
 declares the selector 'addTextFieldWithValue:label:'" 
 on the [alert addTextFieldWithValue:@"" label:@"Password"];

I also would like to ask how can I put codes on the Confirm button on the alertview.


Solution

  • alert.alertViewStyle = UIAlertViewStylePlainTextInput;
    

    or if you need it to be secure (for passwords)

    alert.alertViewStyle = UIAlertViewStyleSecureTextInput;
    

    Edit:

    I'm not 100% sure what you mean by "put codes on the confirm button" but if you want to know whether they pushed confirm or cancel, you only need to implement

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
        //check the button index and do something if it's the right one.
    }