今天要给各位爱好者带来的是简单几行iOS代码限制TextField输入长度例子分享,喜欢的朋友来详细了解下吧。
网上有不少限制textField输入长度方法,不过我觉得都不是很完美,准确来说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法。
我所采用的并非监听方法而是最不同的代理实现方法,为何不使用监听呢,当你看到这篇文章很有有可能视是为一件事所苦恼,那就是使用监听限制输入长度以后不可以完美的控制输入内容。
举个简单例子:
你要限制输入长度为30个字符,当你输入30个字符以后监听的确能够很好的控制不让你继续输入,不过问题也随之而来,当你将光标移动到输入内容中间的位置以后,你是能够继续输入的这种输入让人很苦恼因为当你输入后你的光标会移动到最后,而且限制你继续输入,不过你刚刚输入的内荣却保留在了文本中间,这非常不符合要求。
所以在这里采用代理能够很好的实现我们想要的效果,只需要几行代码。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField == self.liveThemeTextField) {
//这里的if时候为了获取删除操作,如果没有次if会造成当达到字数限制后删除键也不能使用的后果.
if (range.length == 1 && string.length == 0) {
return YES;
}
//so easy
else if (self.liveThemeTextField.text.length >= 30) {
self.liveThemeTextField.text = [textField.text substringToIndex:30];
return NO;
}
}
return YES;
}