`

实现对UITextField ,UITextView等输入框的 字数限制

阅读更多
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。



     代码如下:
//如果输入超过规定的字数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;



中来实现。



   代码:

- (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  中处理。



    代码如下:
    //在这个地方计算输入的字数  
    - (void)textViewDidChange:(UITextView *)textView  
    {  
        NSString  * nsTextContent=textView.text;  
        int   existTextNum=[nsTextContent length];  
        remainTextNum_=100-existTextNum;  
    }  


转至:http://www.devdiv.com/home.php?mod=space&uid=21083&do=blog&id=4122
分享到:
评论

相关推荐

    ios-键盘不覆盖UITextField和UITextView输入框.zip

    在iOS开发中,当用户需要在UITextField或UITextView中输入时,键盘的弹出会遮挡部分内容,特别是当这些输入控件位于UIScrollView等可滚动视图上时。标题"ios-键盘不覆盖UITextField和UITextView输入框.zip"所提及的...

    IOS中UITextView或UITextField字数限制的实现

    在iOS开发中,当涉及到用户输入界面,如`UITextField`和`UITextView`时,有时我们需要对用户输入的字数进行限制,以确保数据的准确性和应用的性能。以下是三种在iOS中实现`UITextField`和`UITextView`字数限制的方法...

    UITextView 实现UITextField功能

    然而,在某些场景下,开发者可能希望`UITextView`具备`UITextField`的一些特性,比如,限制输入字符数、设置 placeholder 或者实现简单的键盘返回事件处理。本篇文章将详细探讨如何通过自定义`UITextView`来实现`...

    swift-一个UITextField类的category可以一行代码实现对UITextField字数的限制

    在这个场景下,我们可以使用Category(分类)这一Swift中的特性来扩展UITextField的功能,使其能够轻松地实现字数限制。 首先,让我们理解一下Category的概念。在Objective-C和Swift中,Category是一种强大的机制,...

    ios-UITextField,UITextView限制输入长度和类型.zip

    对UITextField,UITextView增加字符,字节限制,输入字符类型限制 typedef NS_ENUM(NSInteger, XLFTextLimitType) { XLFTextLimitTypeNone, // 无限制 XLFTextLimitTypeByte, // 字节数限制 ...

    UItextField和UItextView自动移动

    在iOS应用开发中,UItextField和UItextView是两个常见的用户输入控件,它们允许用户输入文本。然而,当这些控件位于屏幕底部时,键盘弹出可能会遮挡它们,导致用户体验不佳。为了解决这个问题,开发者通常需要实现一...

    swift-一行代码解决UITextFiled和UITextView限制字数和输入特殊字符

    总之,通过Swift的优雅语法和强大的特性,我们可以轻松实现对UITextField和UITextView输入的限制,使得应用更加智能和友好。在实际开发中,这样的小技巧不仅可以提高代码质量,也能帮助我们更好地满足用户需求。

    swift-UITextfield输入框限制的功能封装

    "swift-UITextfield输入框限制的功能封装"项目就是针对这一需求而设计的,它提供了一种灵活、可扩展的方式来定制`UITextField`的输入行为。 首先,我们要理解`UITextField`的基本属性和方法。`UITextField`包含诸如...

    ios-这是一个文本输入限制字数的通用输入框控件,简单实用。.zip

    这个名为“ios-这是一个文本输入限制字数的通用输入框控件,简单实用”的压缩包提供了一个解决方案,允许开发者轻松实现对用户输入字数的限制。这个控件简化了处理文本输入长度的复杂逻辑,确保用户不会超过预设的...

    UITextField 和UITextView和封装处理 限制输入 iOS

    4. **分类扩展**:`UITextField+WKInputKit`和`UITextView+WKInputKit`,这两个分类扩展了原生的`UITextField`和`UITextView`,提供了便捷的方法来设置输入限制。 使用`WKInputKit`的步骤大致如下: 1. 引入`...

    TextLimit:限制 UITextView 或 UITextField 的字数(支持 zh-Hans)

    `TextLimit` 是一个Objective-C编写的库,专门用于在拼音输入模式下为`UITextView`和`UITextField`添加字数限制功能,并且它还支持简体中文(zh-Hans)。 `TextLimit`的核心功能是监听用户输入的变化,并实时计算...

    ios-(输入框DIY)带下划线样式,带间距,带字数限制的明文输入框.zip

    本文将深入探讨如何实现一个带下划线样式、带间距以及字数限制的明文输入框。这个特殊的输入框设计适用于需要用户输入特定格式信息的场景,如密码确认、手机号码输入等。 首先,我们要知道,iOS系统默认的...

    swift-KeyBoard-Swift使用Swift编写的字母和数字键键盘可以用于UITextField和UITextView

    3. 键盘的隐藏和显示:用户可能需要随时隐藏和显示键盘,这可以通过调用UITextField或UITextView的resignFirstResponder()和becomeFirstResponder()方法实现。 4. 自定义键盘的动画效果:为了提高用户体验,可以...

    iOS UITextField、UITextView只限输入中文、英文、数字及实时限制字符个数的封装实现代码

    在某些场景下,我们可能需要对用户的输入进行限制,比如仅允许输入中文、英文和数字,并且实时限制输入的字符数量。这篇文档将详细介绍如何实现这样的功能,并提供了一段封装好的代码示例。 首先,为了监听文本输入...

    自定义弹出输入框(输入长度限制).zip

    关于"文本输入"这个标签,我们可以推测ZPPOPTextField控件是为了解决原生UITextField或UITextView的一些局限性。原生的文本输入组件虽然基础强大,但可能无法满足所有设计需求,例如,它们可能无法轻松实现弹出式...

    AnimatedTextInput, iOS的动画UITextField和UITextView替换.zip

    AnimatedTextInput, iOS的动画UITextField和UITextView替换 AnimatedTextInput iOS Jobandtalent应用中使用的iOS自定义文本输入组件。 安装使用cocoapods在项目中安装这里自定义控件。pod 'AnimatedTextInput'

    ios-一句代码限制文本输入字数.zip

    总之,通过合理地运用Swift的编程特性,我们可以轻松实现对iOS应用中文本输入框字数的限制,提供更好的用户体验。这个压缩包文件中的"LimitInput"很可能就是这样一个实用的代码示例,帮助开发者快速理解和应用这个...

    IOS 中UITextField,UITextView,UILabel 根据内容来计算高度

    IOS 中 UITextField, UITextView, UILabel 根据内容来计算高度的实现方法 在 IOS 开发中,常常遇到根据内容来决定控件的高度的情况,尤其是在使用 UITextField, UITextView, UILabel 等控件时。下面我们将介绍如何...

    iOS输入框的字数统计/最大长度限制详解

    iOS 输入框的字数统计/最大长度...本文详细介绍了 iOS 输入框的字数统计/最大长度限制的相关知识点,包括输入框的字数统计、最大长度限制、字数统计的定义等,希望能够对开发者的学习和工作具有一定的参考学习价值。

Global site tag (gtag.js) - Google Analytics