uitextfield输入字符限制
-(UITextField*)createField:(NSString*)placeholder andTag:(int)tag andFont:(double)font{
UITextField * field =[[UITextField alloc]init];
field.frame = CGRectMake(, , Main_Width-, );
field.delegate = self;
field.userInteractionEnabled = YES;
field.textAlignment = NSTextAlignmentLeft;
field.keyboardType = UIKeyboardTypeDefault;
// field.returnKeyType = UIReturnKeySend;
field.tag = tag;
field.placeholder =placeholder;
// field.text = placeholder;
field.textColor = littleBlackColor;
[field setFont:[UIFont fontWithName:@"STHeitiSC" size:font]];
[field addTarget:self action:@selector(textFieldWithText:) forControlEvents:UIControlEventEditingChanged];
return field;
}
-(void)textFieldWithText:(UITextField *)textField{
UITextField * field = (UITextField*)textField;
switch (textField.tag) {
case ://发车单位/收车单位
if ([self textField:field shouldChangeCharactersInRange:NSMakeRange(, ) replacementString:@""]) {
[dic setObject:field.text forKey:@"unitname"]; //送达单位、收车单位
}
break;
case : //联系人
if ([self textField:field shouldChangeCharactersInRange:NSMakeRange(, ) replacementString:@""]) {
[dic setObject:field.text forKey:@"contact"];
}
break;
case ://联系电话
if ([self textField:field shouldChangeCharactersInRange:NSMakeRange(, ) replacementString:@""]) {
[dic setObject:field.text forKey:@"phone"];
}
break;
case ://详细地址
if ([self textField:field shouldChangeCharactersInRange:NSMakeRange(, ) replacementString:@""]) {
[dic setObject:field.text forKey:@"address"];
}
break;
default:
break;
}
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;
{
//string就是此时输入的那个字符textField就是此时正在输入的那个输入框返回YES就是可以改变输入框的值NO相反
if ([string isEqualToString:@"\n"]) //按会车可以改变
{
return YES;
}
NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string]; //得到输入框的内容
switch (textField.tag) {
case ://发车单位/收车单位
if ([toBeString length] > ) {
textField.text = [toBeString substringToIndex:];
[self createUIAlertController:@"单位输入不能超过20个字符"];
return NO;
}
break;
case : //联系人
if ([toBeString length] > ) {
textField.text = [toBeString substringToIndex:];
[self createUIAlertController:@"联系人输入不能超过10个字符"];
return NO;
}
break;
case ://联系电话
if ([toBeString length] > ) {
textField.text = [toBeString substringToIndex:];
[self createUIAlertController:@"联系电话输入不能超过11个字符"];
return NO;
}
break;
case ://详细地址
if ([toBeString length] > ) {
textField.text = [toBeString substringToIndex:];
[self createUIAlertController:@"详细地址输入不能超过30个字符"];
return NO;
}
break;
default:
break;
} return YES;
}![]()
uitextfield输入字符限制的更多相关文章
- iOS 限制UITextField输入字符
开篇 之前做过一个即时通信的项目,需要限制输入框文本的字符个数,当时从网络上搜寻了几个方法,解决了需求,但是网络上的解决办法不是很全面:今天又遇到一个限制搜索框UISearchBar输入字符个数的问题 ...
- 限制UITextField输入内容的长度
一.前言 今天做手机号输入限制长度,例如我的textfield只能输入11位,如果再多输入的话就不再textfield中显示,只显示11位的手机号. 如果用ReactiveCocoa的话,这个很好解决 ...
- UITextView 和 UITextField限制字符数和表情符号
UITextField限制字符数 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)r ...
- EditText限制输入字符类型的几种方式
最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1.第一种方式是通过EditText的inputType来实现,可以通过xml或者Java文件来设置.假如我 ...
- BufferedReader,缓冲输入字符流
1. /** * 输入字符流: * --------|Reader 所有输入字符流的基类.抽象类 * -----------|FileReader 读取文件字符串的输入字符流. * --------- ...
- 终端I/O之特殊输入字符
POSIX.1定义了11个在输入时作特殊处理的字符.实现定义了另外一些特殊字符.表18-6摘要列出了这些特殊字符. 表18-6 终端特殊输入字符 在POSIX.1的11个特殊字符中,可将其中9个更改为 ...
- textarea中限制输入字符长度
要在textarea中限制输入字符的长度,比如在twitter中要限制字符为140个,可实现的方法有: 1. <textarea name="A" cols="45 ...
- Android EditText的输入监听,输入字符的动态获取
http://itindex.net/detail/38974-android-edittext-%E7%9B%91%E5%90%AC 有时候我们可能会用到时时的监听EditText输入字符的时时监听 ...
- while死循环问题-输入字符就会死循环
问题: 是否会遇到这样的问题,在while循环中 sanf("%d",&a);如果输入的不是数字,是字符就会进入死循环. 解决方案:都是缓冲区惹的祸,输入字符后,字符会一直 ...
随机推荐
- WPF常用方法,事件驱动和控件遍历
//初始化数据,默认选中第一项,事件驱动 RadioButton btn = FuncClass.GetChildObject<RadioButton>(this.stackPanel1, ...
- Xamarin.Android开发实践(十六)
Xamarin.Android之Fragment Walkthrough 利用Fragment设计能够兼容不同屏幕的应用 这里我们先围观下最后的成果图,给读者打打气: 普通手机上显示的结果: 在平板上 ...
- mac 下修改Hosts文件
最近Google网站老是打不开,具体原因大家都明白,不过修改Hosts文件后,就能访问了,也算不上原创,网上一搜就能找到,自己操作记录下,希望有刚接触Mac 系统的童鞋有帮助. 第一步:打开Finde ...
- Java Hour 30 Weather ( 3 )
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 30 上回终点 Model 这里有一些java bean 的 风格约 ...
- Codeforces Gym 100203I I - I WIN 网络流最大流
I - I WINTime Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.acti ...
- loj 1251(2-sat + 输出一组可行解)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26961 思路:u表示留下,~u表示离开,同理v,对于+u,-v,我 ...
- android webview与 java与javascript的交互
webView.getSettings().setJavaScriptEnabled(true);//打开就可以用js的功能 webView.getSettings().setJavaScript ...
- vi-11
vi编辑器linux命令大全 作者:xiaoru 出处:本站整理 发布时间:2013-04-29 13:20:23 - vi就是linux命令行下的最著名的编辑器之一,Vim常被称作“程序 ...
- Linux下压缩与解压命令tar
Linux下常见压缩文件的扩展名 *.gz:gzip压缩的: *.bz2:bzip2压缩的: *.tar:tar程序打包但没有压缩的: *.tar.gz:打包后并经过gzip压缩的: *.tar.bz ...
- QUnit使用笔记-1判断方法
QUnit是一个前端测试工具. 判断效果: html基本结构: <h1 id="qunit-header">QUnit</h1> <h2 id=&qu ...
