zoukankan      html  css  js  c++  java
  • iOS【textView或者textField文本输入字数限制】

    【textView文本输入 字数限制】

    // 监听文本改变  触发时机(通过发送通知完成)

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

        

        UITextView *textView = (UITextView *)obj.object;

        

        NSAttributedString *toBeString = textView.attributedText;

        

    //    NSLog(@" - -%@",[_contentView.textInputMode primaryLanguage]);

        //方法已经不推荐使用了,直接获取textinputMode时表情键盘不会响应

        NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage]; // 键盘输入模式

        

        if (toBeString.length > MAXLenth)//MAXLenth定义的宏

        {

            [self showHUDWithText:@"输入字数限制300"];

        }

        

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

            UITextRange *selectedRange = [textView markedTextRange];

            //获取高亮部分

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

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

            if (!position) {

                if (toBeString.length >= MAXLenth) {

                    textView.attributedText = [toBeString attributedSubstringFromRange:NSMakeRange(0, MAXLenth)];

                    textView.font = [UIFont systemFontOfSize:14.f];

                    

                }

                

                if (textView.attributedText.length > 300)

                {

                    self.lenthLabel.text = @"已输入字数:300";

                   

                }

                else self.lenthLabel.text = [NSString stringWithFormat:@"已输入字数:%@",@(textView.attributedText.length)];

            }

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

            else{

            }

        }

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

        else{

            

            if (toBeString.length > MAXLenth) {

                textView.attributedText = [toBeString attributedSubstringFromRange:NSMakeRange(0, MAXLenth)];

                textView.font = [UIFont systemFontOfSize:14.f];

            }

            

            if (textView.attributedText.length > 300)

            {

                self.lenthLabel.text = @"已输入字数:300";

                

            }

            else self.lenthLabel.text = [NSString stringWithFormat:@"已输入字数:%@",@(textView.attributedText.length)];

        }

    }

  • 相关阅读:
    接口框架 python+unittest+request+HTMLTestRunner
    python循环语句的简单条件语句、多重条件语句和嵌套条件语句编写
    MAC下配置java+jmeter环境变量
    jmeter _Random函数生成随机数
    python-unittest模块中的各类断言
    Django密码错误报错提醒
    转载Django 500,404,400错误修改优化
    postman从body,headers,data中获取token后回写做全局变量
    postman小白教程
    git拉取代码切换分支
  • 原文地址:https://www.cnblogs.com/chenjie-ios/p/4630343.html
Copyright © 2011-2022 走看看