zoukankan      html  css  js  c++  java
  • 如何实现 对输入框的文本内容进行限制的功能

    如何实现 对输入框的文本内容进行限制的功能

      如何实现  对输入框的文本内容进行限制的功能

    1.     如何实现对UITextField ,UITextView等输入框的 字数限制

           (1)首先,肯定要 让controller 实现 UITextFieldDelegate (针对UITextField)或者  UITextViewDelegate(针对UITextView)

                 然后,将 输入框的delegate属性设置为self.  

          (2) 然后,我们就可以用这两个delegate的函数来实现 我们对输入字数的限制了。

               对于 UITextField 是函数

     - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

          或者

               对于UITextView 是函数

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

          如果允许继续输入,那么返回YES,否则返回NO。

         代码如下:

        

    view plain

    //如果输入超过规定的字数100,就不再让输入  

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

    {  

        if (range.location>=100)   

        {  

            return  NO;  

        }  

        else   

        {  

            return YES;  

        }  

    }  

    2.  如何实现 对有输入限制的输入框的剩余字数的自动计算

         比如上面的代码中,输入框的字数不能超过100,如何实时的计算出当前可以输入多少个字符呢?

       UITextField 没有找到合适的函数,也可以在函数

       - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

    中来实现。

       代码:

      

    view plain

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string  

    {  

       int  remainTextNum_=100;  

       //计算剩下多少文字可以输入  

       if(range.location>=100)  

       {  

          remainTextNum_=0;  

          

          return NO;  

       }  

       else  

       {  

        NSString  * nsTextContent=string.text;  

        int   existTextNum=[nsTextContent length];  

        remainTextNum_=100-existTextNum;  

            return YES;  

       }  

         

    }  

        UITextView 除了可以在函数

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

        中按照上面类似的办法处理以外,还可以在函数  

        - (void)textViewDidChange:(UITextView *)textView  中处理。

        代码如下:

        

    view plain

    //在这个地方计算输入的字数  

    - (void)textViewDidChange:(UITextView *)textView  

    {  

        NSString  * nsTextContent=textView.text;  

        int   existTextNum=[nsTextContent length];  

        remainTextNum_=100-existTextNum;  

    }  

  • 相关阅读:
    Convert string to hex « Python recipes « ActiveState Code
    分享:301定向技术全面解决
    UTF8 ANSI Unicode/UCS2 UCS4 所占存储比较_高山流水_百度空间
    分享:Arcadia 0.12.1 发布,Ruby 集成开发环境
    分享:探索 Python、机器学习和 NLTK 库
    Windows Codepage: 936 (Simplified Chinese GBK)
    分享:QT 5.0 正式版发布,支持 C++11
    分享:探索 Python、机器学习和 NLTK 库
    分享:Gearmand 1.0.2 和 1.1.4 发布,作业调度系统
    Convert string to hex « Python recipes « ActiveState Code
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175649.html
Copyright © 2011-2022 走看看