如何限制一个UITextField的输入长度

给UITextField增加监听

[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

实现监听方法



- (void)textFieldDidChange:(UITextField *)textField
{
    if (textField == self.titleField) {
        if (textField.text.length > 20) {
            textField.text = [textField.text substringToIndex:20];
        }
    }
}

注意:要解除监听

				
时间: 2024-12-09 17:01:46

如何限制一个UITextField的输入长度的相关文章

如何更好地限制一个UITextField的输入长度

要限制一个UITextField的输入字数(参考链接),首先想到的应该是通过 UITextFieldDelegate 的代理方法来限制: - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; return NO to not change text 比如要设置字数限制为20: - (BOOL)text

UITextField限制输入长度

首先,汉字的输入时的联想词在输入到TextFiled时,并不会走 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; 这导致了在这里进行长度限制的代码都会失效.此路不通. 因此我们可以用注册UITextFieldTextDidChangeNotification通知来监测TextField的文字的变

简单几步实现 IOS UITextField输入长度的控制

在ios开发过程中,我们有时候需要对UITextField的输入长度进行控制,比如输入手机号码最大长度为11位等,而ios自身又不像android那样可以设置输入框的输入长度,接下来通过简单几步实现这个功能: 1.新建一个类继续UITextField比如这个类叫MyUITextField 2.声明一个变量用来记录输入的最大长度 3.添加一个事件用于监听输入框输入值的变化 4.通过判断当前text字符串的长度是否大于最大长度来截取字符串并赋值給当前text保证text字符串的值始为指指定的最大长度

限制 UITextField 输入长度

限制 UITextField 输入长度 标签(空格分隔): UITextField UITextField 是 iOS 中最常用的组件之一.关于它也有各种各样的需求,这些需求是它本身没有提供相应的API的.限制输入框文本长度是常见的需求,UITextField 本身也并没有为此提供API.本文尝试给其加入这个功能. 1.通过 delegate 来实现 限制 UITextField 的输入字数,首先想到的是 UITextFieldDelegate,通过实现这个协议来实现需求: - (BOOL)te

面试题3:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。

package siweifasan_6_5; /** * @Description:在一个长度为n的数组里的所有数字都在0到n-1的范围内. * 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次. * 请找出数组中任意一个重复的数字. * 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2. * @Parameters: // Parameters: // numbers: an array of integers //

剑指offer(Java版)第一题:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 *请找出数组中任意一个重复的数字。 *例如,如果输入长度为7的数组{2, 3, 1, 0, 2, 5, 3},那么对应的输出是重复的数字2或者3。

/*在一个长度为n的数组里的所有数字都在0到n-1的范围内. * 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次. * 请找出数组中任意一个重复的数字. * 例如,如果输入长度为7的数组{2, 3, 1, 0, 2, 5, 3},那么对应的输出是重复的数字2或者3.*/ import java.util.*; public class Class1 { static class findRepeatedNumber{ public int findRepeatedN

自定义UItextFiled,限制TextFiled 的输入长度

1.一般情况下,处理textFiled的字符数都会用到textField的代理方法 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; 在方法中对字符数进行控制,但是此方法的有一定的问题.现在推出一种新的自定义的机制,自定义textField控件,为其增加一个控制输入长度的属性,如下 .h文件 #i

iOS 中文输入长度控制

当使用拼音输入法时,该委托方法中的最后一个参数string接受的是输入的字母,而不是选择的汉字,造成的结果是,当想输入文字“我在编程”,输入拼音“wozaibiancheng”,每输入一个字母便会进入委托方法,统计的字符长度是字母的长度,实际上汉字还未超过限制长度,但是字母的长度超过了导致无法继续输入. 中文控制输入长度的方法如下: 1.注册notification [[NSNotificationCenter defaultCenter]addObserver:self selector:@s

iOS限制文本输入长度进阶之 一

/** * 本文以UITextField 最大文本长度=10为例 */ 首先想到的自然是delegate中的方法@selector(textField:shouldChangeCharactersInRange:replacementString:) 1.- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)stri