uitextfield动态限制输入的字数-b
2024-09-24 13:00:04
1、定义一个事件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
-(IBAction)limitLength:(UITextField *)sender { bool isChinese; //判断当前输入法是否是中文 if ([[[UITextInputMode currentInputMode] primaryLanguage] isEqualToString: @ "en-US" ]) { isChinese = false ; } else { isChinese = true ; } if (sender == self.txtName) { // 8位 NSString *str = [[self.txtName text] stringByReplacingOccurrencesOfString:@ "?" withString:@ "" ]; if (isChinese) { //中文输入法下 UITextRange *selectedRange = [self.txtName markedTextRange]; //获取高亮部分 UITextPosition *position = [self.txtName positionFromPosition:selectedRange.start offset: 0 ]; // 没有高亮选择的字,则对已输入的文字进行字数统计和限制 if (!position) { NSLog(@ "汉字" ); if ( str.length>= 9 ) { NSString *strNew = [NSString stringWithString:str]; [self.txtName setText:[strNew substringToIndex: 8 ]]; } } else { NSLog(@ "输入的英文还没有转化为汉字的状态" ); } } else { NSLog(@ "str=%@; 本次长度=%d" ,str,[str length]); if ([str length]>= 9 ) { NSString *strNew = [NSString stringWithString:str]; [self.txtName setText:[strNew substringToIndex: 8 ]]; } } } } |
2、对UITextField控件添加监听事件:
1
2
|
//UIControlEventEditingChanged [self.txtName addTarget:self action: @selector (limitLength:) forControlEvents:UIControlEventEditingChanged]; |
最新文章
- 新浪微博SDK的使用
- PHP函数之日期时间函数date()使用详解
- Spring MVC中使用Interceptor拦截器
- GitHub-更新数据
- HDU 1255 覆盖的面积 (扫描线 线段树 离散化 矩形面积并)
- 配置对IIS上tabular的 HTTP 访问
- 基于visual Studio2013解决C语言竞赛题之0905文件读写显示
- 使用ztree展示树形菜单结构
- 字符串及其操作,字符的Unicode编码
- 安装Nginx配置常用参数含义
- mui 从列表进入到详情,再返回,列表页还是进入列表之前的样子,而不刷新页面
- jxl 读取xls,并转为二维数组可进行保存
- MONGODB(四)——DBObject与JavaBean转换
- JavaScript 之 解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码
- 【Linux/CentOS】Boolean ftp_home_dir is not defined
- winform c#中子窗体关闭刷新父窗体
- 将windbg设置为默认调试器命令
- UWP开发---通过委托跨页面导航
- DNS中NS和SOA区别
- select 宽度跟随option内容自适应