Ján*_*nos 4 uitextfield uitextfielddelegate swift uialertcontroller
我已经向UIAlertController添加了一个UITextField,但是shouldChangeCharactersInRange不会被触发.为什么?我设置了代表.
let alertController = UIAlertController(title: "", message: "xxx", preferredStyle: .Alert)
self.presentViewController(alertController, animated:true, completion:nil)
let textField = UITextField()
textField.delegate = self
alertController.addTextFieldWithConfigurationHandler(nil)
Run Code Online (Sandbox Code Playgroud)
代表团在同一个班级:
func textField(textField: UITextField!,
shouldChangeCharactersInRange range: NSRange,
replacementString string: String!) -> Bool {
Run Code Online (Sandbox Code Playgroud)
Mic*_*lum 10
您为其设置委托的文本字段与添加到警报控制器的文本字段不同.基本上,您正在创建UITextField的新实例,但从不给它一个框架,或将其添加到视图层次结构中.同时,您正在使用addTextFieldWithConfigurationHandler()向警报控制器添加文本字段,但您从未为此文本字段设置委托.我相信这就是你想要的:
let alertController = UIAlertController(title: "", message: "xxx", preferredStyle: .Alert)
alertController.addTextFieldWithConfigurationHandler {[weak self] (textField: UITextField!) in
textField.delegate = self
}
self.presentViewController(alertController, animated:true, completion:nil)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3000 次 |
| 最近记录: |