example ios objective-c uialertcontroller

example - ¿Cómo agregar entrada de texto en alertview de ios 8?



uialertcontroller swift (8)

Captura de pantalla

Código

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

Quiero agregar el ingreso de texto en la vista de alerta de ios 8. Sé que se hizo usando UIAlertController pero no tengo idea. Cómo hacerlo ?


Ejemplo de implementación con 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)


Este es un método práctico con el controlador de envío / cancelación y finalización para texto si se ingresa:

/** Presents an alert controller with a single text field for user input - parameters: - title: Alert title - message: Alert message - placeholder: Placeholder for textfield - completion: Returned user input */ func showSubmitTextFieldAlert(title: String, message: String, placeholder: String, completion: @escaping (_ userInput: String?) -> Void) { let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert) alertController.addTextField { (textField) in textField.placeholder = placeholder textField.clearButtonMode = .whileEditing } let submitAction = UIAlertAction(title: "Submit", style: .default) { (action) in let userInput = alertController.textFields?.first?.text completion(userInput) } let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { (_) in completion(nil) } alertController.addAction(submitAction) alertController.addAction(cancelAction) present(alertController, animated: true) }


UIAlertViewController con entrada de texto

UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Title" message:nil preferredStyle:UIAlertControllerStyleAlert]; [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) { // optionally configure the text field textField.keyboardType = UIKeyboardTypeAlphabet; }]; UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { UITextField *textField = [alert.textFields firstObject]; textField.placeholder = @"Enter Input"; }]; [alert addAction:okAction]; [self presentViewController:alert animated:YES completion:nil];


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


func askForName() { let alert = UIAlertController(title: "Enter Text", message: "Enter some text below", preferredStyle: .alert) alert.addTextField { (textField) in textField.text = "New Text" } let action = UIAlertAction(title: "OK", style: .default, handler: { [weak alert] (_) in let textField = alert!.textFields![0] print("Text field: /(textField.text)") }) alert.addAction(action) present(alert, animated: true, completion: nil)

}


UIAlertView *av = [[UIAlertView alloc]initWithTitle:@"Title" message:@"Please enter someth" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; av.alertViewStyle = UIAlertViewStylePlainTextInput; [av textFieldAtIndex:0].delegate = self; [av show];

además, deberá implementar los protocolos UITextFieldDelegate, UIAlertViewDelegate.

y si usas uialertcontroller entonces usa este

UIAlertController * alert= [UIAlertController alertControllerWithTitle:@"My Title" message:@"Enter User Credentials" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { //Do Some action here }]; UIAlertAction* cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { [alert dismissViewControllerAnimated:YES completion:nil]; }]; [alert addAction:ok]; [alert addAction:cancel]; [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) { textField.placeholder = @"Username"; }]; [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) { textField.placeholder = @"Password"; textField.secureTextEntry = YES; }]; [self presentViewController:alert animated:YES completion:nil];


UIAlertView *myView = [[UIAlertView alloc]initWithTitle:@"Input" message:@"Enter your value" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; myView.alertViewStyle = UIAlertViewStylePlainTextInput; [myView textFieldAtIndex:0].delegate = self; [myView show];

Usted puede cubrir de esta manera. Gracias