Swift UIAlertController获取文本字段文本

Hen*_*ler 5 xcode swift uialertcontroller

当按下"输入"按钮时,我需要从警报视图中的文本字段中获取文本.

func inputMsg() {

    var points = ""
    var outOf = ""

    var alertController = UIAlertController(title: "Input View", message: "Please Input Your Grade", preferredStyle: UIAlertControllerStyle.Alert)

    let actionCancle = UIAlertAction(title: "Cancle", style: UIAlertActionStyle.Cancel) { ACTION in

        println("Cacle")
    }
    let actionInput = UIAlertAction(title: "Input", style: UIAlertActionStyle.Default) { ACTION in

        println("Input")
        println(points)
        println(outOf)
    }

    alertController.addAction(actionCancle)
    alertController.addAction(actionInput)
    alertController.addTextFieldWithConfigurationHandler({(txtField: UITextField!) in
        txtField.placeholder = "I got"
        txtField.keyboardType = UIKeyboardType.NumberPad
        points = txtField.text
        })



    alertController.addTextFieldWithConfigurationHandler({(txtField: UITextField!) in
        txtField.placeholder = "Out Of"
        txtField.keyboardType = UIKeyboardType.NumberPad
        outOf = txtField.text
    })
    presentViewController(alertController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

Uno*_*ome 8

由于要求在这里是一个实现的解决方案.

alertController.addAction(UIAlertAction(title: "Submit", style: UIAlertActionStyle.Default,handler: {
            (alert: UIAlertAction!) in
            if let textField = alertController.textFields?.first as? UITextField{
                println(textField.text)
            }
        }))
Run Code Online (Sandbox Code Playgroud)

如上所述,alertController有一个名为的属性textFields.如果添加了文本字段,则可以有条件地解包该属性以安全地访问文本字段.在这种情况下,由于只有一个文本字段,我只是使用first属性进行解包.希望能帮助到你.


mat*_*att 3

UIAlertController 有一个textFields属性。那是它的文本字段。您的任何处理程序都可以检查它,从而可以从任何文本字段获取文本。