我正在尝试弹出两个警报,为应用输入两个播放器名称。我尝试在viewDidLoad和viewDidAppear函数中使用AlertController代码。虽然在viewDidAppear中可以正常工作,但在调用第二个时会抛出错误,因为它会继续运行其他代码。
理想情况下,我希望它弹出并说出#34;输入播放器1名称",给用户输入名称的机会,然后当按下提交时开始执行第二个警报,以便它弹出"输入玩家2姓名"。
答案 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: {
})
您可以使用此行代码,例如在viewDidLoad
或viewDidAppear
函数中首次出现的UIViewController。
希望对你有帮助