我有一個關於swift中的UIAlertview
的問題。我有一個警報視圖,允許用戶在「教師」和「學生」兩個選項中進行選擇,並根據點擊哪個按鈕將用戶帶到新屏幕。它工作正常,唯一的問題是我在每個新屏幕上都有一個後退按鈕,這會讓用戶返回到前一個屏幕,以防他們點擊錯誤的按鈕。這是問題發生的地方。如果用戶在naviagting
之後單擊觸發alertview
的按鈕回到頁面,則alertivew
會記住用戶上次點擊哪個按鈕並基於該按鈕執行該按鈕。對不起,如果這是令人困惑的,我希望他們能夠在每次選擇之間進行選擇,並且alertview
不根據他們以前的選擇執行。對不起,如果這是令人困惑的,所有的幫助是非常感激。swift中的UIAlertView/Xcode
這裏是我的代碼目前
@IBAction FUNC needToRegisterClicked(發件人:AnyObject){
let alertController = UIAlertController(title: "Please choose", message: "Teacher or Student?", preferredStyle: UIAlertControllerStyle.Alert)
alertController.view.tintColor = UIColor.blackColor()
alertController.addAction(UIAlertAction(title: "Teacher", style: .Default, handler: { (action) in
print("Teacher Chosen")
let ac = UIAlertController(title: "Enter Access Code", message: nil, preferredStyle: .Alert)
ac.addTextFieldWithConfigurationHandler { (textField: UITextField!) in
textField.keyboardType = UIKeyboardType.NumberPad }
ac.view.tintColor = UIColor.blackColor()
let submitAction = UIAlertAction(title: "Submit", style: .Default) { [unowned self, ac] (action: UIAlertAction!) in
let answer = ac.textFields![0] as! UITextField
if answer.text == "3280464" {
self.performSegueWithIdentifier("School Register", sender: nil)
} else {
let alert2 = UIAlertController(title: "Sorry!", message: "Incorrect access code", preferredStyle: UIAlertControllerStyle.Alert)
self.presentViewController(alert2, animated: true, completion: nil)
alert2.addAction(UIAlertAction(title: "Dismiss", style: .Default, handler: nil))
}
// do something interesting with "answer" here
}
ac.addAction(submitAction)
self.presentViewController(ac, animated: true, completion: nil)
}))
alertController.addAction(UIAlertAction(title: "Student", style: .Default, handler: { (action) in
print("Student Chosen")
self.performSegueWithIdentifier("Student", sender: nil)
}))
self.dismissViewControllerAnimated(true, completion: nil)
self.presentViewController(alertController, animated: true, completion: nil)
}
編輯:我究竟是如何去實例化一個新alertView每次按下按鈕?對不起,如果這是一個愚蠢的事情要問,我對整個事情是非常新的。
編輯:我嘗試了所有建議的選項,沒有運氣,但我現在才能夠自己弄清楚。我所需要做的就是從最後刪除self.dismissViewControllerAnimated(true,completion:nil)。感謝所有回覆的人,我衷心感謝您抽出時間。
嘗試每個按鈕被按下,而不是使用同一個 –
你可以發佈你的代碼時,實例化一個新的警報視圖,請 –