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];

最新文章

  1. 新浪微博SDK的使用
  2. PHP函数之日期时间函数date()使用详解
  3. Spring MVC中使用Interceptor拦截器
  4. GitHub-更新数据
  5. HDU 1255 覆盖的面积 (扫描线 线段树 离散化 矩形面积并)
  6. 配置对IIS上tabular的 HTTP 访问
  7. 基于visual Studio2013解决C语言竞赛题之0905文件读写显示
  8. 使用ztree展示树形菜单结构
  9. 字符串及其操作,字符的Unicode编码
  10. 安装Nginx配置常用参数含义
  11. mui 从列表进入到详情,再返回,列表页还是进入列表之前的样子,而不刷新页面
  12. jxl 读取xls,并转为二维数组可进行保存
  13. MONGODB(四)——DBObject与JavaBean转换
  14. JavaScript 之 解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码
  15. 【Linux/CentOS】Boolean ftp_home_dir is not defined
  16. winform c#中子窗体关闭刷新父窗体
  17. 将windbg设置为默认调试器命令
  18. UWP开发---通过委托跨页面导航
  19. DNS中NS和SOA区别
  20. select 宽度跟随option内容自适应

热门文章

  1. 【设计模式 - 13】之责任链模式(Chain Of Responsibility)
  2. winform渐变窗口显示/关闭
  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(29)-T4模版
  4. POJ1330Nearest Common Ancestors——近期公共祖先(离线Tarjan)
  5. hadoop资料汇总(网上)
  6. 亲测安装php
  7. mysql默认用户名和密码
  8. javascript操作json方法
  9. PowerDesigner15的安装和破解
  10. poj 3565 ants