У меня есть UIAlertController
(Alert style) в Swift, и все работает отлично. Тем не менее, UITextField
, который я добавил к нему, является необязательным полем, в котором пользователю не требуется вводить текст. Проблема в том, что когда я показываю это UIAlertController
, клавиатура появляется одновременно с выбранным по умолчанию текстовым полем. Я не хочу, чтобы клавиатура появлялась, если пользователь не нажал UITextField
. Как это может быть сделано?Предотвращение автоматического появления клавиатуры с помощью 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)
вы должны сделать becomeFirstResponder позвонить куда-нибудь еще. Или вы можете позвонить self.view endEditing: YES после/перед представлением предупреждения. –