Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add text input in alertview of ios 8?

I want to add text input in alert-view of ios 8. I know it was done using UIAlertController but not have any idea. How to do it ?

like image 652
Aarti Oza Avatar asked Nov 30 '15 10:11

Aarti Oza


3 Answers

Screenshot

Code

 UIAlertController * alertController = [UIAlertController alertControllerWithTitle: @"Login"
                                                                                  message: @"Input username and password"
                                                                              preferredStyle:UIAlertControllerStyleAlert];
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        textField.placeholder = @"name";
        textField.textColor = [UIColor blueColor];
        textField.clearButtonMode = UITextFieldViewModeWhileEditing;
        textField.borderStyle = UITextBorderStyleRoundedRect;
    }];
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
        textField.placeholder = @"password";
        textField.textColor = [UIColor blueColor];
        textField.clearButtonMode = UITextFieldViewModeWhileEditing;
        textField.borderStyle = UITextBorderStyleRoundedRect;
        textField.secureTextEntry = YES;
    }];
    [alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
        NSArray * textfields = alertController.textFields;
        UITextField * namefield = textfields[0];
        UITextField * passwordfiled = textfields[1];
        NSLog(@"%@:%@",namefield.text,passwordfiled.text);

    }]];
    [self presentViewController:alertController animated:YES completion:nil];
like image 65
Leo Avatar answered Oct 20 '22 16:10

Leo


AlertViewController

        // use UIAlertController
        UIAlertController *alert= [UIAlertController
                                      alertControllerWithTitle:@"Title"
                                      message:@"SubTitle"
                                      preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                   handler:^(UIAlertAction * action){
                                                       //Do Some action here
                                                       UITextField *textField = alert.textFields[0];
                                                       NSLog(@"text was %@", textField.text);

                                                   }];
        UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault
                                                       handler:^(UIAlertAction * action) {

                                                           NSLog(@"cancel btn");

                                                           [alert dismissViewControllerAnimated:YES completion:nil];

                                                       }];

        [alert addAction:ok];
        [alert addAction:cancel];

        [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) {
            textField.placeholder = @"placeHolderText";
            textField.keyboardType = UIKeyboardTypeDefault;
        }];

        [self presentViewController:alert animated:YES completion:nil];

UIAlertView

        UIAlertView* dialog = [[UIAlertView alloc] initWithTitle:@"Title"
                                                         message:@"SubTitle"
                                                        delegate:self
                                               cancelButtonTitle:@"Cancel"
                                               otherButtonTitles:@"OK", nil];

        dialog.alertViewStyle = UIAlertViewStylePlainTextInput;

        [dialog show];

    }
like image 10
Anbu.Karthik Avatar answered Oct 20 '22 16:10

Anbu.Karthik


Example of implementation with Swift 3:

var textField: UITextField?

// create alertController
let alertController = UIAlertController(title: "Title", message: "Message", preferredStyle: .alert)
  alertController.addTextField { (pTextField) in
  pTextField.placeholder = "usefull placeholdr"
  pTextField.clearButtonMode = .whileEditing
  pTextField.borderStyle = .none
  textField = pTextField
}

// create cancel button
alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (pAction) in
  alertController.dismiss(animated: true, completion: nil)
}))

// create Ok button
alertController.addAction(UIAlertAction(title: "OK", style: .default, handler: { (pAction) in
  // when user taps OK, you get your value here
  let inputValue = textField?.text
  alertController.dismiss(animated: true, completion: nil)
}))

// show alert controller
self.present(alertController, animated: true, completion: nil)
like image 8
Kevin ABRIOUX Avatar answered Oct 20 '22 17:10

Kevin ABRIOUX