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

【textView文本输入 字数限制】

// 监听文本改变  触发时机(通过发送通知完成)

-(void)textViewEditChanged:(NSNotification *)obj{

UITextView *textView = (UITextView *)obj.object;

NSAttributedString *toBeString = textView.attributedText;

//    NSLog(@" - -%@",[_contentView.textInputMode primaryLanguage]);

//方法已经不推荐使用了,直接获取textinputMode时表情键盘不会响应

NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage]; // 键盘输入模式

if (toBeString.length > MAXLenth)//MAXLenth定义的宏

{

[self showHUDWithText:@"输入字数限制300"];

}

if ([lang isEqualToString:@"zh-Hans"]) { // 简体中文输入,包括简体拼音,健体五笔,简体手写

UITextRange *selectedRange = [textView markedTextRange];

//获取高亮部分

UITextPosition *position = [textView positionFromPosition:selectedRange.start offset:0];

// 没有高亮选择的字,则对已输入的文字进行字数统计和限制

if (!position) {

if (toBeString.length >= MAXLenth) {

textView.attributedText = [toBeString attributedSubstringFromRange:NSMakeRange(0, MAXLenth)];

textView.font = [UIFont systemFontOfSize:14.f];

}

if (textView.attributedText.length > 300)

{

self.lenthLabel.text = @"已输入字数:300";

}

else self.lenthLabel.text = [NSString stringWithFormat:@"已输入字数:%@",@(textView.attributedText.length)];

}

// 有高亮选择的字符串,则暂不对文字进行统计和限制

else{

}

}

// 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况

else{

if (toBeString.length > MAXLenth) {

textView.attributedText = [toBeString attributedSubstringFromRange:NSMakeRange(0, MAXLenth)];

textView.font = [UIFont systemFontOfSize:14.f];

}

if (textView.attributedText.length > 300)

{

self.lenthLabel.text = @"已输入字数:300";

}

else self.lenthLabel.text = [NSString stringWithFormat:@"已输入字数:%@",@(textView.attributedText.length)];

}

}

时间: 2024-11-08 10:27:10

iOS【textView或者textField文本输入字数限制】的相关文章

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提示文字并且输入字数限制

实现字数控制和限制,并展示当前输入的字符串长度,以及按钮的点击状态,代码如下: 1,设置代理 @interface FKViewController ()<UITextViewDelegate> @property (weak, nonatomic) IBOutlet UITextView *FKTextView; @property (weak, nonatomic) IBOutlet UILabel *descLab; @property (weak, nonatomic) IBOutle

iOS textField文字输入字数以及格式限制

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSInteger existedLength = textField.text.length; NSInteger selectedLength = range.length; NSInteger replaceLength = string.le

iOS 监听textfield的输入(转)

1:首先 [objc] view plain copy print? [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; 2:其次 [objc] view plain copy print? -(void)textFieldDidChange :(UITextField *)theTextField{ NSLog( @"tex

iOS 富文本格式字符 以及处理iOS8下textview设置富文本后输入bug

iOS的富文本设置,在iOS8下在textView的代理方法中设置textview的attributedText时,会出现富文本格式未加到text上的情况,可以在初始化时将文本属性赋给textview的typingAttributes.代码如下: NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.lineSpacing = 7;// 字体的行间距 UIF

iOS(Swift) TextField限制输入文本的长度(不是字数)

最近做项目有一个特殊需求,就是需要限制一个TextField的输入文本的长度在一定范围内(注意,不是字数),上网查了一圈没有找到类似文章,这里把我的方法写进来,mark一下: 1.对TextField添加监听函数: textField.addTarget(self, action: "textFieldTextDidChange:", forControlEvents: UIControlEvents.EditingChanged) 2.在输入内容变化时进行处理: func textF

iOS中如何让TextView和TextField控件支持return键收起输入法

TextView和TextField控件是iOS中负责接收用户输入的控件,那当用户输入完成时怎么收起面板呢? 1.TextView和TextField控件获得焦点之后的第一反应就是弹出输入法面板: 2.让TextView和TextField失去焦点的方法是调用resignFirstResponder. 3.在TextView(shouldChangeTextInRange)和TextField(shouldReturn)方法中实现.

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