2016-04-25 2 views
0

Я стараюсь, чтобы пользователь не манипулировал своими данными, поэтому, когда они нажимают на UITextfield, alertController отображается только один раз, после того как они нажимают «да», тогда они смогут изменять данные. но вместо отображения диспетчера предупреждений один раз он продолжает отображать каждый раз, когда я нажимаю на UITextfield; как я могу решить эту проблему.как отображать контроллер предупреждений только один раз, когда UITextfield используется?

func textFieldDidBeginEditing(textField: UITextField) { 
     let alert = UIAlertController(title: "Warning !", message: "Are your sure you want to change your content? ", preferredStyle: .Alert) 

      let yes = UIAlertAction(title: "Yes", style: .Cancel) { (action) in 

       } 
       alert.addAction(yes) 
       let no = UIAlertAction(title: "No", style: .Default) { (action) in 
     } 
       alert.addAction(no) 
      presentViewController(alert, animated: true) {} 
     } 
textField.becomeFirstResponder() 
} 

ответ

0
var alertWillShow = true 

func textFieldDidBeginEditing(textField: UITextField) { 

if alertWillShow { 
     alertWillShow = false 

     let alert = UIAlertController(title: "Warning !", message: "Are your sure you want to change your content? ", preferredStyle: .Alert) 

      let yes = UIAlertAction(title: "Yes", style: .Cancel) { (action) in 

       } 
       alert.addAction(yes) 
       let no = UIAlertAction(title: "No", style: .Default) { (action) in 
     } 
       alert.addAction(no) 
      presentViewController(alert, animated: true) {} 
     } 
} 
textField.becomeFirstResponder() 
} 
+0

ваш простой трюк помог мне, не точно, как я хочу, но решить мою проблему. спасибо – User

Смежные вопросы