Get input value from TextField in iOS alert in Swift

后端 未结 3 1025
不知归路
不知归路 2020-12-07 10:48

I\'m trying to make an alert message with input, and then get the value from the input. I\'ve found many good tutorials how to make the input text field. but I can\'t get th

3条回答
  •  广开言路
    2020-12-07 11:30

    Updated for Swift 3 and above:

    //1. Create the alert controller.
    let alert = UIAlertController(title: "Some Title", message: "Enter a text", preferredStyle: .alert)
    
    //2. Add the text field. You can configure it however you need.
    alert.addTextField { (textField) in
        textField.text = "Some default text"
    }
    
    // 3. Grab the value from the text field, and print it when the user clicks OK.
    alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { [weak alert] (_) in
        let textField = alert.textFields![0] // Force unwrapping because we know it exists.
        print("Text field: \(textField.text)")
    }))
    
    // 4. Present the alert.
    self.present(alert, animated: true, completion: nil)
    

    Swift 2.x

    Assuming you want an action alert on iOS:

    //1. Create the alert controller.            
    var alert = UIAlertController(title: "Some Title", message: "Enter a text", preferredStyle: .Alert)
    
    //2. Add the text field. You can configure it however you need.
    alert.addTextFieldWithConfigurationHandler({ (textField) -> Void in
        textField.text = "Some default text."
    })
    
    //3. Grab the value from the text field, and print it when the user clicks OK. 
    alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: { [weak alert] (action) -> Void in
        let textField = alert.textFields![0] as UITextField
        println("Text field: \(textField.text)")
    }))
    
    // 4. Present the alert.
    self.presentViewController(alert, animated: true, completion: nil)
    

提交回复
热议问题