2016-06-02 3 views
0

Я пытаюсь получить значение TextField от UIAlertController, но всякий раз, когда я пытаюсь ввести значение (Name) и отображать его на этикетки, выход не показывает ничего.IOS 9 - Как получить значение textField в UIAlertController?

- (IBAction)button:(id)sender { 
    UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"Test" message:@"Please Enter your name " preferredStyle:UIAlertControllerStyleAlert]; 
    [alert addTextFieldWithConfigurationHandler:^(UITextField *textField) { 
     textField.placeholder = @"Person Name "; 
     textField.textColor = [UIColor blueColor]; 
     textField.clearButtonMode = UITextFieldViewModeWhileEditing; 
     textField.borderStyle = UITextBorderStyleRoundedRect; 
     textField.secureTextEntry = NO; 

    }]; 
    UIAlertAction* yesButton = [UIAlertAction 
           actionWithTitle:@"ENTER, please" 
           style:UIAlertActionStyleDefault 
           handler:^(UIAlertAction * action) 
           { 
            //Handle the ENTER button 
            // how to Display the name in the label 

           }]; 
    UIAlertAction* noButton = [UIAlertAction 
           actionWithTitle:@"No, thanks" 
           style:UIAlertActionStyleDefault 
           handler:^(UIAlertAction * action) 
           { 
            //Handle no button. 
           }]; 


    [alert addAction:yesButton]; 
    [alert addAction:noButton]; 

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

} 
+0

использовать блок обработчика yesButton для деталей отображения TextField на этикетке , –

+0

@JP_Mob пожалуйста, вы можете поделиться кодом, отвечая на этот вопрос, спасибо за ваше время –

ответ

1

Быстрые быстр пример, который я вытащил из старого проекта

 alert.addAction(UIAlertAction(title: "Send", style: UIAlertActionStyle.Default, handler:{ (UIAlertAction)in 
     if let textFields = alert.textFields { 
      if let textField = textFields.first { 

      } 
     } 
    })) 

В заявке он хотел что-то вроде этого:

UIAlertAction* yesButton = [UIAlertAction actionWithTitle:@"ENTER, please" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) 
{ 
    NSArray *textFields = alert.textFields; 
    // Probably smart to do some nil checking here 
    NSLogv(@"%@", textFields.first.text); 
    // add to label like so 
    label.text = textFields.first.text; 
}]; 
+0

я пытался использовать NSString вместо NSArray, он did't как это –

+0

Не уверен, что я понимаю ваш вопрос. '. Свойство textFields' является массивом. Оттуда вы должны захватить первый, где вы можете получить свою строку. –

+0

, так как я могу отобразить значение на ярлыке. Благодаря –

Смежные вопросы