当应用程序打开时,如何使用用户输入一个接一个地打开两个警报?

时间:2016-04-14 19:21:26

标签: ios swift uialertcontroller

我正在尝试弹出两个警报,为应用输入两个播放器名称。我尝试在viewDidLoad和viewDidAppear函数中使用AlertController代码。虽然在viewDidAppear中可以正常工作,但在调用第二个时会抛出错误,因为它会继续运行其他代码。

理想情况下,我希望它弹出并说出#34;输入播放器1名称",给用户输入名称的机会,然后当按下提交时开始执行第二个警报,以便它弹出"输入玩家2姓名"。

1 个答案:

答案 0 :(得分:1)

您需要为UIAlertAction实现一个处理程序,您可以在其中显示另一个警报。看看这段代码:

let firstAlert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
firstAlert.addTextFieldWithConfigurationHandler({
    textField in
    textField.placeholder = "Some input"
})

let secondAlert = UIAlertController(title: "Alert", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
secondAlert.addTextFieldWithConfigurationHandler({
    textField in
    textField.placeholder = "Some input 2"
})

firstAlert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.Default, handler: {
    action in
    print("text from first alert : + \(firstAlert.textFields?[0].text)")
    self.presentViewController(secondAlert, animated :true, completion :nil)
}))

secondAlert.addAction(UIAlertAction(title: "Click", style: UIAlertActionStyle.Default, handler: {
    action in
    print("text from second alert : + \(firstAlert.textFields?[0].text)")
}))


self.presentViewController(firstAlert, animated: true, completion: {
})

您可以使用此行代码,例如在viewDidLoadviewDidAppear函数中首次出现的UIViewController。

希望对你有帮助