2017-02-15 18 views
0

У меня есть экран регистрации с полем номера телефона. Если пользователь вводит слишком короткий номер телефона, я показываю UIAlertController. После того, как она отклоняет предупреждение, пользователь не может отправить свой номер телефона еще раз, когда кнопка отправки нажата. Есть ли способ перезагрузить представление, когда предупреждение отклонено, чтобы сделать кнопку не задействованной? БлагодаряReload View после UIAlertController

func present_alert(title:String, content : String){ 
    let myAlert = UIAlertController(title:title, message:content, preferredStyle:UIAlertControllerStyle.alert) 
    let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler:nil) 
    myAlert.addAction(okAction) 
    self.present(myAlert, animated:true) 
} 
+0

есть способ перезагрузить мнение, что использование этого то, что вы хотите, чтобы перезагрузить –

+0

Reload какого вида? Каков ваш код для представления ввода? Это простой UIView? UIButton? UITableView? –

+0

Если вы хотите узнать, когда пользователь нажимает кнопку «ОК», просто назначьте обработчик, а не установите его на «nil» – redent84

ответ

2

основная причина, по кнопке мыши вы отключившие yourbutton sender.isEnabled = false, когда-либо предупреждение представлено снова включить вашу кнопку, безусловно, работает addyourbuttonName.isEnabled = true

, если вы хотите, чтобы очистить текущее значение TextField затем использовать yourtextfield.text = ""

let alertController = UIAlertController(title: “Simple”, message: “Simple alertView demo with Cancel and Ok.”, preferredStyle: UIAlertControllerStyle.alert) 

let okAction = UIAlertAction(title: “OK”, style: UIAlertActionStyle.default) { (result : UIAlertAction) -> Void in 
print(“OK”) 
yourtextfield.text = "" 
yourtextfield.becomeFirstResponder() 
addyourbuttonName.isEnabled = true 
} 


alertController.addAction(okAction) 
self.present(alertController, animated: true, completion: nil) 
+0

'addyourbuttonName.isEnabled = true' для включения вашей кнопки –

+0

проверить обновленный ответ –

0
func present_alert(title:String, content:String, button:UIButton){ 
    let myAlert = UIAlertController(title:title, message:content, preferredStyle:UIAlertControllerStyle.alert) 
    let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default, handler:nil) 
    myAlert.addAction(okAction) 
    self.present(myAlert, animated:true){ 
     button.isEnabled = true 
    } 
} 
0

Как я понимаю ваш вопрос проблема й у вас появляется ваша кнопка false Значение параметра «isEnabled». Чтобы исправить это просто добавить в свой блок последней строки:

buttonName.isEnabled = true 

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

  • Нет связанных вопросов^_^