我需要在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