Ho uno UIAlertController
(stile di avviso) in Swift e tutto funziona perfettamente. Tuttavia, lo UITextField
che ho aggiunto è un campo facoltativo a cui l'utente non è obbligato a inserire il testo. Il problema è quando mostro questo UIAlertController
, la tastiera appare simultaneamente con il campo di testo selezionato per impostazione predefinita. Non voglio che la tastiera appaia a meno che l'utente non tocchi il numero UITextField
. Come si può fare?Impedisce la visualizzazione automatica della tastiera con UIAlertController
let popup = UIAlertController(title: "My title",
message: "My message",
preferredStyle: .Alert)
popup.addTextFieldWithConfigurationHandler { (optionalTextField) -> Void in
optionalTextField.placeholder = "This is optional"
}
let submitAction = UIAlertAction(title: "Submit", style: .Cancel) { (action) -> Void in
let optionalTextField = popup.textFields![0]
let text = optionalTextField.text
print(text)
}
let cancelAction = UIAlertAction(title: "Cancel", style: .Default, handler: nil)
popup.addAction(cancelAction)
popup.addAction(submitAction)
self.presentViewController(popup, animated: true, completion: nil)
è necessario essere fare becomeFirstResponder chiamare da qualche altra parte. Oppure puoi chiamare self.view endEditing: YES dopo/prima di presentare l'avviso. –