A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yatoutou 中级黑马   /  2016-3-10 17:11  /  747 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分享一下:

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

        }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马