如果直接编辑UITextField.text属性,则不会触发UITextFieldDelegate。有没有正确的方法将UITextField与自定义输入视图一起使用?我创建了自己的numberpad viewcontroller,我可以修改UITextField.text,但如果我没有从UITextFieldDelegate.shouldChangeCharactersInRange收到事件,我就无法获取光标位置。
了解在UITextField中使用自定义输入的正确方法是什么?
答案 0 :(得分:0)
请确保
yourTextField.delegate = self
您的实施文件中的这一行
答案 1 :(得分:0)
我还为我们的应用程序创建了一个自定义小键盘。你是对的shouldChangeCharactersInRange
没有响应程序化文本更改(通过setText)。我们在文本字段中使用UIControlEventEditingChanged
事件:
[aField addTarget:self action:@selector(editingChanged:) forControlEvents:UIControlEventEditingChanged];
不幸的是,有currently no way来访问shouldChangeCharactersInRange之外的UITextField的光标位置。您可以使用this pasting method在光标处插入文本。至于自定义删除键,我们现在使用“始终删除字段中的最后一个字符”规则。