Мне нужен текст текстового поля, который будет выбран сразу после представления UIAlertController. Однако способ, которым я выбираю текст в стандартном UITextField, здесь не работает.Выберите текст в текстовом поле UIAlertController
Это то, что я пробовал, но я не могу заставить его работать.
let ac = UIAlertController(title: "Rename", message: nil, preferredStyle: .Alert)
ac.addTextFieldWithConfigurationHandler({
[] (textField: UITextField) in
textField.selectedTextRange = textField.textRangeFromPosition(textField.beginningOfDocument, toPosition: textField.endOfDocument)
textField.text = "filename.dat"
})
ac.addAction(UIAlertAction(title: "CANCEL", style: .Cancel, handler: nil))
ac.addAction(UIAlertAction(title: "OK", style: .Default, handler: {
[] Void in
// do something
}))
dispatch_async(dispatch_get_main_queue(), {
self.presentViewController(ac, animated: true, completion: nil)
})
Любые идеи?
Я заметил, вы опустили 'textField.becomeFirstResponder()' из Ответ @ ridvankucuk. Есть ли ситуации, когда эта строка должна быть добавлена? – ToolmakerSteve
@ToolmakerSteve, лично, я никогда не встречался с такими ситуациями. Текстовое поле уже является первым ответчиком, когда вызывается метод textFieldDidBeginEditing: '. Но может быть, у вас есть специальный случай, когда вам нужно снова сделать это первым ответчиком. – seelts