UITextField和UITextView输入限制解决方案
来源:互联网 发布:域名纠纷 律师 编辑:程序博客网 时间:2024/05/21 04:40
//初始化UITextField对象 _inputTextFiled = [[UITextField alloc] initWithFrame:CGRectMake(0, 160, 320, 40)]; _inputTextFiled.delegate = self; _inputTextFiled.borderStyle = UITextBorderStyleLine;// [_inputTextFiled addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged]; //也可以使用这个监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldDidChange:) name:UITextFieldTextDidChangeNotification object:nil]; //修改placeHold颜色 _inputTextFiled.attributedPlaceholder = [[NSMutableAttributedString alloc] initWithString:@"placleHold" attributes:@{NSForegroundColorAttributeName: [UIColor redColor]}]; _inputTextFiled.clearButtonMode = UITextFieldViewModeWhileEditing; [self.view addSubview:_inputTextFiled];
#pragma mark-UITextFiledDelegate//监听限制是否允许继续输入- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (textField == _inputTextFiled) { if (string.length == 0) return YES; //range是当前要被替换输入的区域 string是当前要被替换输入区域的文本 NSInteger allTextLenth = textField.text.length; //所有文本长度 NSInteger selectedLength = range.length; //要输入区域包括联想出来的长度 NSInteger replaceLength = string.length; //输入的长度 if (allTextLenth - selectedLength + replaceLength > 20) { //这里是控制联想出来的超过就不让输入 return NO; } } return YES;}
//监听输入有变化- (void)textFieldDidChange:(UITextField *)textField{ if (textField == _inputTextFiled) { if (textField.text.length > 20) { textField.text = [textField.text substringToIndex:20]; } }}
//初始化UITextView _inputTextView = [[UITextView alloc] initWithFrame:CGRectMake(0, 160, 320, 30)]; _inputTextView.delegate = self; _inputTextView.backgroundColor = [UIColor purpleColor]; [self.view addSubview:_inputTextView];
#pragma mark-UITextViewDelegate//是否发生变化- (void)textViewDidChange:(UITextView *)textView{ if (textView.markedTextRange == nil && _inputTextView.text.length > 10) { textView.text = [textView.text substringToIndex:10]; }}//是否允许输入- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ if (textView == _inputTextView) { if (textView.text.length >= 10 && text.length > range.length) { return NO; } } return YES;}
参考:点击打开链接
0 0
- UITextField和UITextView输入限制解决方案
- UITextField和UITextView-输入字数限制
- [iOS]UITextField和UITextView限制输入字符数量方面
- UITextField和UITextView限制字数
- UITextField ,UITextView 输入长度的限制
- UITextField限制输入的长度,UITextView限制输入的长度
- UITextField 和 UITextView实现字数限制
- 限制UITextField和UITextView的中英文输入长度(中文占两个字符)
- UITextField UITextView 字数限制
- UITextField UITextView 字数限制
- UITextField, UITextView长度限制
- UITextField和UITextView iOS中的输入框
- UITextView限制最大输入长度(UITextField相同)
- 实现对UITextField ,UITextView等输入框的 字数限制
- UITextView限制最大输入长度(UITextField相同)
- UITextView & UITextField 实现中英文混合输入的限制
- iOS开发 正确限制UITextField(UITextView)输入位数
- UITextView限制最大输入长度(UITextField相同)
- OpenFire 安装文档
- Android应用的Tab键,来回反复点击会报ANR,是空指针导致的,判空就可以解决
- 从内存的角度看free(p) , p=NULL
- 致、我心爱的姑娘
- MooseFS分布式文件系统的注意事项和排错经验
- UITextField和UITextView输入限制解决方案
- 总结一下到新公司后这半个月的工作吧(中)
- PeekMessage&GetMessage
- Python 列表(Lists)
- 20140902写在新一轮学习开始之前的话
- 一般应用程序ashx文件简单实例
- Double Patience - POJ 2794 状压dp
- epoll使用详解(精髓)
- 【使用线程池的好处】多线程的环境中,尽量采用线程池