zoukankan      html  css  js  c++  java
  • 2016-01-07 textview 字数限制

    1. 字母数字  限制字数 delegate
    2. //控制输入文字的长度和内容,可通调用以下代理方法实现

      - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

      {

          if (range.location>=20)

          {

              //控制输入文本的长度

              UIAlertView *alve = [[UIAlertView alloc]initWithTitle:@"提示" message:@"输入内容最多20" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];

              [alve show];

              

              return  NO;

          }

          if ([text isEqualToString:@" "]) {

              //禁止输入换行

              [textView resignFirstResponder];

              return NO;

          }

          else

          {

              return YES;

          }

      }

     3.汉字的

    #define MaxNumberOfDescriptionChars  20

     viewdidload 中

      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textViewEditChanged:) name:UITextViewTextDidChangeNotification object:_descrViewa];

        

    - (void)dealloc

     

    {

        

        [[NSNotificationCenter defaultCenter] removeObserver:self];

        [[NSNotificationCenter defaultCenter]removeObserver:self

                                                       name:@"UITextViewTextDidChangeNotification"

                                                     object:_descrViewa];

        

    }

     

     

        

        // 监听文本改变

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

            

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

            

            

            

            NSString *toBeString = textView.text;

            

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

            

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

                

                UITextRange *selectedRange = [textView markedTextRange];

                

                //获取高亮部分

                

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

                

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

                

                if (!position) {

                    

                    if (toBeString.length > MaxNumberOfDescriptionChars) {

                        

                        textView.text = [toBeString substringToIndex:MaxNumberOfDescriptionChars];

                        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"不能超过20个字!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

                        [alert show];

                    }

                    

                }

                

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

                

                else{

                    

                    

                    

                }

                

            }

            

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

            

            else{

                

                if (toBeString.length > MaxNumberOfDescriptionChars) {

                    

                    textView.text = [toBeString substringToIndex:MaxNumberOfDescriptionChars];

                    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"不能超过20个字!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

                    [alert show];

                    

                }

                

            }

            

        }

        

  • 相关阅读:
    用find和xargs处理文件名中带空格的文件
    python调用Shell
    python 的sys.argv 和 sys.path.append() 用法和PYTHONPATH环境变量
    pytorch中 model.cuda的作用
    Python中变量和对象的关系
    python中的import、from import以及import as的区别
    常用功能bash脚本
    图像数据增强-图像补边
    python中的glob库函数
    喵哈哈村的七十六
  • 原文地址:https://www.cnblogs.com/gzz2016/p/5109496.html
Copyright © 2011-2022 走看看