Estou tentando mostrar um UIAlertController
com um UITextView
. Quando eu adiciono a linha:
//Add text field
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
}
Recebo um Runtime
erro:
erro fatal: inesperadamente encontrado nulo ao desempacotar um valor opcional
let alertController: UIAlertController = UIAlertController(title: "Find image", message: "Search for image", preferredStyle: .Alert)
//cancel button
let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .Cancel) { action -> Void in
//cancel code
}
alertController.addAction(cancelAction)
//Create an optional action
let nextAction: UIAlertAction = UIAlertAction(title: "Search", style: .Default) { action -> Void in
let text = (alertController.textFields?.first as! UITextField).text
println("You entered \(text)")
}
alertController.addAction(nextAction)
//Add text field
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
textField.textColor = UIColor.greenColor()
}
//Present the AlertController
presentViewController(alertController, animated: true, completion: nil)
Isso é apresentado dentro do meu ViewController
através de um IBAction
.
Eu baixei o código daqui e funciona bem. Copiei e colei esse método em meu código e ele falha. A presença de si mesmo na última linha não tem impacto.
ios
swift
uitextfield
uialertcontroller
Quintin Balsdon
fonte
fonte
UITextField
, em vez deUITextView
?Respostas:
Swift 5.1
Use este código, estou executando este código em meu aplicativo com sucesso.
Editado: versão Swift 3.0
fonte
Para adicionar um campo de texto no Swift 3.0:
fonte
Portanto, comecei a verificar o que poderia ter sido diferente em meu código para o código de trabalho. Percebi que meu ViewController estende
O que aparentemente significa que preciso definir o delegado de qualquer UITextView filho:
fonte
Solução:
Swift 4.2
Experimente as seguintes linhas e veja se funciona:
Espero que ajude.
fonte
alertController.addTextField
correta? Parece que "Segundo Nome" aparecerá acima de "Nome".Como adicionar textField ao AlertView? Vamos ser curtos e simples.
Isso funciona para Swift 3.0 e superior.
Primeiro, você instancia um objeto de
UIAlertController
e, em seguida, adiciona um campo de texto a ele acessandoaddTextField
membro daUIAlertController
classe.fonte
Para adicionar alertController com um textField (Swift 5)
fonte
Para Swift 4.0, você pode usar este exemplo de código testado com sucesso em meu projeto:
fonte
Em Swift 4.2 e Xcode 10.1
Alerte com dois Textfields e Leia dados de texto TextField e apresente o alerta na parte superior de todas as visualizações .
Se você deseja apresentar aleert acima de todas as visualizações.
Aqui do código acima, remova esta última linha
self.present(alert, animated:true, completion: nil)
e adicione o código abaixo.Agora ligue assim
fonte
Ótima resposta, uma pequena modificação para mostrar como o campo de texto pode ser usado:
fonte
adicione TextField a UIAlertController e TextField text Display em UILabel em Swift
fonte
UIAlertController
com a versãoUITextfield
mais recente do Apple Swift 5.1.3Criar uma
lazy
variável deUIAlertController
na suaUIViewController
, adicioneUITextFieldDelegate
, alerta mostrar noUIButton
Ação :Happy Coding !! :)
fonte
Swift5
A primeira classe está em conformidade com UITextFieldDelegate e, em seguida, cria uma nova propriedade textField
obrigado
fonte
Swift 5
fonte