2016-08-09 3 views
1

Ниже приведен код для моего оповещения диспетчера Я хочу, чтобы вместо ввода обычной клавиатуры клавиатура появлялась, когда я печатаю текстовое поле. Как это сделать?Как изменить клавиатуру текстового поля alertcontroller на цифровую панель?

func addPasscodeAlert() 
{ 
    let blurEffect = UIBlurEffect(style: .Light) 
    let blurVisualEffectView = UIVisualEffectView(effect: blurEffect) 
    blurVisualEffectView.frame = view.bounds 
    self.view.addSubview(blurVisualEffectView) 

    let alertController = UIAlertController(title: "No passcode saved", message: "Please enter new 4 digit passcode.", preferredStyle: .Alert) 

    let defaultAction = UIAlertAction(title: "OK", style: .Cancel) { (action) -> Void in 


     if let textField = alertController.textFields?.first as UITextField? 
     { 
      textField.keyboardType = UIKeyboardType.NumberPad 
      self.passcode = textField.text! 
      let userDefaults = NSUserDefaults.standardUserDefaults() 
      userDefaults.setObject(self.passcode, forKey: "passcode") 
      self.showPasswordAlert() 
     } 
    } 

    alertController.addAction(defaultAction) 

    alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in 

     textField.placeholder = "Password" 
     textField.secureTextEntry = true 
    } 
    self.presentViewController(alertController, animated: true, completion: nil) 
    blurVisualEffectView.removeFromSuperview() 


} 

ответ

2

изменение клавиатура type in обработчик способ нет в UIAlertAction. замените свой код ниже.

alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in 
    textField.keyboardType = UIKeyboardType.NumberPad 
    textField.placeholder = "Password" 
    textField.secureTextEntry = true 
} 
Смежные вопросы