博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
控制TextField输入内容的个数
阅读量:6935 次
发布时间:2019-06-27

本文共 1069 字,大约阅读时间需要 3 分钟。

hot3.png

-(void)textFiledEditChanged{

    //检测文本改变

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(putInTextFieldEditChanged:) name:@"UITextFieldTextDidChangeNotification" object:self.textField];

}

#define kMaxLength 16

-(void)putInTextFieldEditChanged:(NSNotification *)obj {

    UITextField *textField = (UITextField *)obj.object;

    NSString *toBeString = textField.text;

    // 键盘输入模式

    NSString *lang = [[UIApplication sharedApplication]textInputMode].primaryLanguage;

    if ([lang isEqualToString:@"zh-Hans"]) { // 简体中文输入,包括简体拼音,健体五笔,简体手写

        UITextRange *selectedRange = [textField markedTextRange];

        //获取高亮部分

        UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];

        // 没有高亮选择的字,则对已输入的文字进行字数统计和限制

        if (!position) {

            if (toBeString.length > kMaxLength) {

                textField.text = [toBeString substringToIndex:kMaxLength];

            }

        }

        // 有高亮选择的字符串,则暂不对文字进行统计和限制

        else{

        }

    }

    // 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况

    else{

        if (toBeString.length > kMaxLength) {

            textField.text = [toBeString substringToIndex:kMaxLength];

        }

    

转载于:https://my.oschina.net/u/2473136/blog/517539

你可能感兴趣的文章
document.body.scrollTop or document.documentElement.scrollTop
查看>>
使用Maven创建一个Spring MVC Web 项目
查看>>
使用Redis模拟简单分布式锁,解决单点故障的问题
查看>>
[笔记]linux磁盘管理
查看>>
error C2065: 'theApp' : undeclared identifier
查看>>
linux中的颜色控制
查看>>
[SOJ #48]集合对称差卷积
查看>>
[bzoj3156]防御准备
查看>>
POJ-2792-集合加法
查看>>
验证的概述
查看>>
关于网页安全输出隐藏
查看>>
javascript内存泄漏
查看>>
Maya批量传递UV插件
查看>>
windows 地址空间分配
查看>>
install Maven
查看>>
android Thread和Service的区别
查看>>
前端交流会
查看>>
ASP.NET Boilerplate 邮件类使用
查看>>
C++实现快速排序
查看>>
C# 把一个文件夹下所有文件删除
查看>>