如何在 UITextField 中允许退格键?
在我的项目中,我必须将 UITextField
的长度限制为 6 个字符。这工作得非常好。一旦我结束编辑并再次开始编辑,然后单击退格键,我的应用程序就会崩溃。
这是代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSUInteger newLength = [txtLicense.text length] + [strNumber length] - range.length;
return (newLength > 6) ? NO : YES;
}
In my project, I have to limit the length of a UITextField
to 6 characters. This is working absolutely fine. Once I end editing and start editing again and I click backspace my application crashes.
Here is the code:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSUInteger newLength = [txtLicense.text length] + [strNumber length] - range.length;
return (newLength > 6) ? NO : YES;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
试试这个。
Try this.
按如下方式实现您的委托方法 -
我们将获取结果字符串并检查其长度。这样退格键就可以工作了。
Implement your delegate method as follows –
We will get what the resultant string will be and check its length. This way backspaces would work.
如果您想在 UITextField 中实现最大长度验证,您可以使用我的工作项目之一中的以下工作代码。
If you want to achieve maximum length validation in UITextField you can use following working code from one of my working project.
我不确定你想在这里实现什么,你可以尝试这个:
I am not sure what you want to achieve here, well you can try this one: