iOS开发中如何设置textfield输入长度并且仅仅只能输入数字
来源:互联网 发布:nosql数据库的优势 编辑:程序博客网 时间:2024/06/04 01:02
网上有很多限制textField输入长度方法和限制输入内容的方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度既又限制输入内容的方法.
我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???
当你看到这篇文章很有可能视是为一件事所苦恼那就是使用监听限制输入长度后不能够完美的控制输入内容.
举一个简单的例子:
你要限制输入长度为6个字符,当你输入6个字符后监听的确可以很好的控制不让你继续输入,但是问题也随之而来,当你把光标移动到输入内容中间的位置后,你是可以继续输入的这种输入让人很苦恼因为当你输入后你的光标会移动到最后,并且限制你继续输入,但是你刚刚输入的内荣却保留在了文本中间,这很不符合要求.
因此在这里采用代理可以很好的实现我们想要的效果,仅仅几行代码希望给你带来帮助.
我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???
当你看到这篇文章很有可能视是为一件事所苦恼那就是使用监听限制输入长度后不能够完美的控制输入内容.
举一个简单的例子:
你要限制输入长度为6个字符,当你输入6个字符后监听的确可以很好的控制不让你继续输入,但是问题也随之而来,当你把光标移动到输入内容中间的位置后,你是可以继续输入的这种输入让人很苦恼因为当你输入后你的光标会移动到最后,并且限制你继续输入,但是你刚刚输入的内荣却保留在了文本中间,这很不符合要求.
因此在这里采用代理可以很好的实现我们想要的效果,仅仅几行代码希望给你带来帮助.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (textField == self.tf) { //这里的if时候为了获取删除操作,如果没有次if会造成当达到字数限制后删除键也不能使用的后果. if (range.length == 1 && string.length == 0) { return YES; } //so easy else if (self.tf.text.length >= 6) { self.tf.text = [textField.text substringToIndex:6]; return NO; } } return [self validateNumber:string];}- (BOOL)validateNumber:(NSString*)number { BOOL res = YES; NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"]; int i = 0; while (i < number.length) { NSString * string = [number substringWithRange:NSMakeRange(i, 1)]; NSRange range = [string rangeOfCharacterFromSet:tmpSet]; if (range.length == 0) { res = NO; break; } i++; } return res;}这段代码既实现了输入内容仅为数字同时限制了输入长度不可以超过6
0 0
- iOS开发中如何设置textfield输入长度并且仅仅只能输入数字
- IOS中TextField中支付只能输入数字,并且小数点后最多输入两位
- textField中只能输入数字
- textfield设置只能输入的字符长度
- edit中只能输入数字并且只能输入一个小数点
- iOS中TextField只能输入数字且小数点后最多输入两位
- 限制textfield只能输入数字
- iOS中textfield有效限制输入长度
- iOS开发Textfield输入纯数字
- 在entry控件中如何设置只能输入数字?
- 安卓开发设置EditView中只能输入数字
- iOS 中textfield只允许输入字母和数字,限制长度
- 输入数字并且只能输入一个小数点
- EditText设置弹出数字键盘,并且只能输入数字和.
- 设置TextBox中只能输入数字
- Delphi中设置Edit只能输入数字
- iOS textField 只输入数字
- IOS中如何限制TextField中输入的类型以及长度
- 二叉搜索树的基本功能实现
- Tivoli Workload Scheduler (TWS)
- 求解偏微分方程开源有限元软件deal.II学习--Step 9
- 本地文件上传到指定目录
- Windows ISO镜像资源专用下载工具(Windows ISO Downloader) v4.0 绿色免费版
- iOS开发中如何设置textfield输入长度并且仅仅只能输入数字
- Java中在超文本协议中客户端对服务端的请求
- 六大设计原则之里氏替换原则
- Python中使用rrdtool结合Django进行带宽监控
- Java读取properties文件
- 求解偏微分方程开源有限元软件deal.II学习--Step 10
- Makefile--wildcard函数
- js弹出框、对话框、提示框、弹窗总结
- 求任意多个不重复元素的排列(基于Java实现)