2011-05-02 109 views

回答

4

如果您使用的是UITextField,则您的代理的textField:shouldChangeCharactersInRange:replacementString:将被调用,其长度范围为1,并且为空替换字符串。如果没有任何东西被删除,但是,您将不会收到通知。

如果您使用的是UITextView,则您的代理的textView:shouldChangeTextInRange:replacementText:将被调用,其长度范围为1,并且为空替换字符串。如果没有任何东西被删除,但是,您将不会收到通知。

如果您使用自己的实现UIKeyInput的类,则应该调用deleteBackward。我不知道实现UITextInput(本身包含UIKeyInput)的类是否可能调用replaceRange:withText:setMarkedText:selectedRange:而不是调用长度为1和空替换字符串的范围,或者在没有任何内容要删除的情况下会发生什么情况。

0

如果你正在实现类似于密码的东西,我认为隐藏的文本字段会更好,并且有更多的控件。

+0

请在这个答案上展开。为什么例如。 – 2015-10-19 19:41:44