UITextView限制输入字数

很多时候我们想限制textView中的输入字数,我们可以利用函数- (void)textViewDidChange:(UITextView *)textView中统计textView实现此功能。通过在此函数中统计你输入的字符的个数,当字数超过你限制的字数时调用函数-(NSString *)substringToIndex:(int)length(length是你想限制的字数). 这样当你输入的字符达到限定的个数时,将无法在往textView中输入数据。(实际上是你新输入的数据被函数-(NSString *)substringToIndex:(int)length截掉了。)。还有就是在textView中默认的是一行输入,如果想实现多行输入,需要设 置它的scrollEnabled属性。例如:textView.scrollEnabled = YES;如果想直接让用户不能在textView中编辑,只能阅读 可以设置textView的editable属性。例如textView.editable = YES(可以编辑。下面这行代码实现的是限制textView的字数在128以内。如果超过次数会弹出警告。(其中statusLabel动态的显示 textView中的字符个数)。

- (void)textViewDidChange:(UITextView *)textView {
    NSInteger number = [textView.text length];
    if (number > 128) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"
message:@"字符个数不能大于128" delegate:self cancelButtonTitle:@"确定"
otherButtonTitles:nil];
        [alert show];
        textView.text = [textView.text substringToIndex:128];
        number = 128;
        [alert release];
    }
    self.statusLabel.text = [NSString stringWithFormat:@"%d/128",number];
}

时间: 2024-10-06 01:16:15

UITextView限制输入字数的相关文章

UITextView 限制输入字数

尊重原创  http://blog.csdn.net/fengsh998/article/details/45421107 对于限制UITextView输入的字符数.相信大家在网上见得最多的是实现UITextViewDelegate - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;//有输入时触但对于中文键盘出示的联想字选

OC & Swift中UITextFiled、UITextView限制输入字数

OC中限制字数的方法 我是用通知实现的,首先添加UITextFiled和UITextView的接收中心 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textViewNotifitionAction:) name:UITextViewTextDidChangeNotification object:nil]; [[NSNotificationCenter defaultCenter] addOb

iOS 中 UITextView 限制最大输入字数

显示UITextView最大输入字数的代码 1 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 2 { 3 //如果是删除减少字数,都返回允许修改 4 if ([text isEqualToString:@""]) { 5 return YES; 6 } 7 if (range.location>= MaxC

iOS【textView或者textField文本输入字数限制】

[textView文本输入 字数限制] // 监听文本改变  触发时机(通过发送通知完成) -(void)textViewEditChanged:(NSNotification *)obj{ UITextView *textView = (UITextView *)obj.object; NSAttributedString *toBeString = textView.attributedText; //    NSLog(@" - -%@",[_contentView.textIn

iOS 限制输入字数完美解决方案

关于限制输入字数以前也做过,网上也很多方法. 但都不够完美,以前的测试人员也没千方百计的挑毛病,所以就糊弄过去了. 现在这个项目的测试人员为了找bug真是无所不用其极.... 1.一般方法就是通过UITextField的代理方法 #pragma mark - UITextFieldDelegate - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementS

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示-面试题

用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示. html <textarea name="" id="text" cols="30" rows="10" maxLength=10></textarea><br> <span id="span"></span> javascript var str = docum

Android EditText输入字数限制总结(包括中文输入内存溢出的解决方法)

限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实蛮多,不同语言在不同编码中占据字节数等,不同语言在U8等编码的表示范围等,这一整块知识很丰富, 自己暂时没有理的特别顺,稍后整理再说吧. 第二点,目前主流app的处理方案也各有不同,qq5.0以前的版本,发表说说貌似是没有字数限制的(我试了一个350字左右的照样发), 5.0以后限制了,这样如果用户

实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)

textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到.与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求. 通常的做法就是使用#脚本语言来实现对textarea文本域的字数输入限制,简单而实用.假设我们有一个id为 txta1 的textarea文本区,我们可以通过以下代码限制它的键盘输入字数为10个字(汉字或其他小角字符): <script language="#"

textarea 限制输入字数

? 1 2 3 4 5 6 7 8 <script type="text/javascript">         function limitChars(id, count) {             var obj = document.getElementById(id);             if (obj.value.length > count) {                 obj.value = obj.value.substr(0, co