TextField和TextView限制输入字数长度

TextField和TextView限制输入长度的具体实现方法,供大家参考,具体内容如下

TextField的限制代理方法
 只需要在这个代理方法里面code这样的代码就可以了 16 是长度可以自己设置

 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
 NSInteger existedLength = textField.text.length;
 NSInteger selectedLength = range.length;
 NSInteger replaceLength = string.length;
 NSInteger pointLength = existedLength - selectedLength + replaceLength;
 //超过16位 就不能在输入了
 if (pointLength > 16) {
  return NO;
 }else{
  return YES;
 }

}

TextView的限制代理方法

 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text
{
 //这个判断相当于是textfield中的点击return的代理方法
 if ([text isEqualToString:@"\n"]) {
  [textView resignFirstResponder];
  return NO;
 }

 //在输入过程中 判断加上输入的字符 是否超过限定字数
 NSString *str = [NSString stringWithFormat:@"%@%@", textView.text, text];
 if (str.length > 500)
 {
  textView.text = [textView.text substringToIndex:500];
  return NO;
 }
 return YES;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • IOS UI学习教程之设置UITextField各种属性

    UITextField是IOS中非常常用的一个控件,用来接收用户输入信息,完成应用和用户的交互.它的主要属性设置如下: //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enu

  • 使用UITextField限制输入金额是正确小数

    要判断输入金额为正确金额的方法有两个,一个是用正则表达式,另一个就是用textfield的代理方法 有时候难免遇到这样的需求,不符合规则的金额就不让输入时,那用这种方法比较合理 如果设置输入键盘为Decimal Pad时,输入为数字和小数点:如果设置键盘为Number Pad时,输入为纯数字 非以上情况时,那要判断输入时是否为合理输入,如代码里 复制代码 代码如下: (single >='0' && single<='9') || single=='.' 如果本身仅仅是输入数字

  • 解决iOS7上UITextField限制字数输入导致崩溃问题的方法

    在一些场景中,需要限制用户的输入字数,例如在textField里进行控制(textView也类似,崩溃原因也相同),如图所示 系统会监听文本输入,需要注意的第一点是输入法处于联想输入还未确定提交的时候,对于第三方输入法例如搜狗,联想状态下的输入,是监听不到,除非点击确定输入到textField,才会触发changed事件. 但对于系统键盘,联想状态下的输入也会监听,这里如果不处理就容易发生崩溃,例如当快要达到字数限制时,继续输入,此时textField.text =联想输入文字+textFiel

  • iOS App开发中UITextField组件的常用属性小结

    重点属性 在 Xcode 中使用 IB 给视图拖上去一个文本框后,选中文本框,可以在Attribute Inspector中设置其各种属性. Attribute Inspector 分为三部分,分别是 Text Field.Control 和 View 部分.我们重点看看 Text Field 部分. Text Field 部分有以下选项: 1.Text :设置文本框的默认文本. 2.Placeholder : 可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容.当这个文本框中

  • 仅几行iOS代码限制TextField输入长度

    网上有很多限制textField输入长度方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法. 我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???  当你看到这篇文章很有可能视是为一件事所苦恼那就是使用监听限制输入长度后不能够完美的控制输入内容.  举一个简单的例子:  你要限制输入长度为30个字符,当你输入30个字符后监听的确可以很好的控制不让你继续输入,但是问题也随之而来,当你把光标移动到输入内容中

  • Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例

    一:JTextField的(文本框)使用: JTextField 是一个轻量级组件,它允许编辑单行文本. 1.JTextField的常用构造方法: JTextField() 构造一个新的 TextField. JTextField(int columns) 构造一个具有指定列数的新的空 TextField. JTextField(String text) 构造一个用指定文本初始化的新TextField. JTextField(String text, int columns) 构造一个用指定文本

  • IOS textField限制字节长度

    OC语言中,NSString类型的字符串,视英文字母和汉字都为一个长度(string.length把一个汉字也当做一个长度),而实际上,一个英文字母只占用1个字节,一个汉字占用2个字节. 有时又有需求,需要限定字节数目,而不是内容个数,就需要通过一些方法获取到字符串的字节数.比如,限定10个字节,则最多可以输入10个英文字母,或者5个汉字. 监听textField的长度变化,就需要设置textField的代理. 但是有个bug,监听内容变化的代理方法 - (BOOL)textField:(UIT

  • iOS使用runtime修改文本框(TextField)的占位文字颜色

    前言 在大家平时的开发中,有时候会遇到背景深色的界面上需要添加TextField,TextField默认的占位颜色也是深灰色,比较难看清,这时候就需要修改展位文字的颜色,可是系统没有提供相应的方法,那么就需要我们自己来自定义了 修改后的效果 话不多说,下面上代码: // .h文件 #import <UIKit/UIKit.h> @interface UITextField (Placeholder) @property UIColor *placeholderColor; @end // .m

  • iOS应用开发中使UITextField实现placeholder属性的方法

    我们都知道iOS开发中的UITextField有个placeholder属性,placeholder可以很方便引导用户输入.但是UITextView却没有placeholder属性. 一.猥琐的方法 如何让UITextView也有placeholder功能呢?今天给各位分享一个比较猥琐的做法.思路大概是这样的: 把UITextView的text当placeholder使用. 在开始编辑的代理方法里清除placeholder. 在结束编辑的代理方法里在设置placeholder. 实现方法: 1.

  • iOS开发之自定义UITextField的方法

    UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等. 观察效果图 UITextField有以下几种特点: 1.默认占位文字是灰色的 2.当光标点上去时,占位文字变为白色 3.光标是白色的 接下来我们通过不同的方法来解决问题 一.将xib中的UITextField与代码关联 通过NSAttributeString方法来更改占位文字的属性 (void)viewDidLoad { [super viewDidLoad]; // Do any additio

随机推荐