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

怎么限制 UITextField 输入长度_百度知道
怎么限制 UITextField 输入长度
我有更好的答案
要限制一个UITextField的输入字数,首先想到的应该是通过
UITextFieldDelegate的代理方法来限制:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)
// return NO to not change text
比如要设置字数限制为20:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
if (textField == self.titleField) {
if (textField.length & 20) return NO;
return YES;
Answer your question:
1. For password ,
you should change the property
check the secure box.
2 For less than 12 character you can use
- (BOOL)te...
其他类似问题
为您推荐:
uitextfield的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Text Input Limit的类似软件 - 输入框长度限制 - 开源中国社区
当前访客身份:游客 [
当前位置:
Text Input Limit
Text Input Limit实现UITextField和UITextView的长度输入限制,非侵入方式实现,无需继承和修改XIB文件,使用简单方便。
将textInputLimit的.h和.m直接拷贝到工程中,然后调用需要做输入长度限制的textField或textView对象方法: &
[textObj&setValue:@4&forKey:@&limit&];
授权协议:
开发语言:
操作系统:&iPhone/iPad/iPod&
收录时间: 日&&(国产软件 or 国人参与)
Text Input Limit 的类似软件:Swift,共25个
NextGrowingTextView 是文本视图增加器的新版本,它可以优化 iOS 7及以上的版本。 NextGrowingTextView 是一款重新设计的文本视图软件,它很好地继承了 HPGrowingTextView ,并为 iOS 7 及以上的版本提供了最为优...
Chatto 是轻量级的聊天控件,使用 Swift 编写。
HTYTextField 是一个 Placeholder 是弹性动画的 TextField。
ZTDropDownTextField 是一个下拉文字视图,特性如下: 在 UITextField 下方提供建议文字 用户点击外部时,下拉列表自动隐藏 利用 AutoLayout 实现, 同时支持纵向和横向 给下拉列表事件提供委托方法 可自定义下拉...
ParkedTextField 是一个 UITextField 的子类,在带有文本中带有永久部分,如同 Slack app 那样。适用于邮件区域,账号名称等等。
RealtimeGradientText 是可以实时渐变的文本
KYDigitalFontView 是一个自定义视图,可以用数码字体来显示文字。
FuriganaTextView 是一个简单的 UITextView 封装视图,能够显示注音假名。
MaterialTextField 是一个简单的 UITextfield 的子类,有着很酷的 material design 动画。
KMPlaceholderTextView 是一个 UITextView 的子类,支持多行占位符。
使用 Text Input Limit 中的任何问题
共有 207 个类似软件
Note IT 这不是一个控件,是一个完整的应用源码。是一个使用 Markdown 格式的记事本...
DTCoreText 是一个功能十分强大的文字效果代码类库。在UITextView上实现十分丰富的...
ChatDemo 是 iOS IM 聊天 Demo。
HPGrowingTextView 是一个 UITextView 的扩展,实现了当文本增多和减少是对输入框本...
EGOTextView 是一个用来完全替换 iOS 自带的 UITextView 的控件,支持富文本内容编...
RichTextEditor 是支持 iPhone 和 iPad 的一个富文本编辑控件。 特性: Bold Italic...
SECoreTextView 是一个多行的富文本视图控件,支持可点击链接、文本选择和嵌入图片...
功能十分强大的文字效果代码类库。在UITextView上实现十分丰富的文字效果,包括文字...
HTML Text Editor 实现了基于 WebView 上的 CKEditor 编辑器的功能。...
实现一个简易记事本,可以添加、删除、保存日记。导入日记的动画也挺不错的。 [Cod...
共有 0 人关注 Text Input Limit8577人阅读
之前写过一篇《》,在文章最后得到的结论是可以直接使用UIKIT_EXTERN NSString *const UITextFieldTextDidChangeN进行监听,截断超出maxLength的部分。所以后来我在处理UITextView的内容长度时,也直接参考这个方法:[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textViewDidChange:) name:UITextViewTextDidChangeNotification object:nil];- (void)textViewDidChange:(NSNotification *)notification
self.placeholder.hidden = (self.textView.text.length & 0);
if (self.textLengthLimit & 0 && self.textView.text.length & self.textLengthLimit) {
self.textView.text = [self.text substringToIndex:self.textLengthLimit];
}这样处理后,我敲着键盘输入了若干个字符,当到达200个字符时就不会再输入了。但是当我从网页上复制一大堆中文内容(远超过200字),再粘贴到UITextView中,之后再尝试输入,则会挂掉:*** -[NSConcreteTextStorage attributesAtIndex:effectiveRange:]: Range or index out of bounds我的解法是:- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
if (textView.text.length &= self.textLengthLimit && text.length & range.length) {
return NO;
return YES;
}这样一来,当长度达到200以后,就不再响应输入变化了。不过,粘贴完达到200个字符后,可以退格删除,再使用中文输入法进行输入,这时候进入multistage text input模式(可以参考),会触发另外的问题:*** Terminating app due to uncaught exception 'NSRangeException', reason: 'NSMutableRLEArray replaceObjectsInRange:withObject:length:: Out of bounds'由于中文输入法的键盘上有联想、推荐的功能,所以可能导致文本内容长度上有些不符合预期,导致越界,所以可以参考这份做下处理:- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
if (textView.text.length &= self.textLengthLimit && text.length & range.length) {
return NO;
return YES;
- (void)textViewDidChange:(UITextView *)textView
self.placeholder.hidden = (self.textView.text.length & 0);
if (textView.markedTextRange == nil && self.textLengthLimit & 0 && self.text.length & self.textLengthLimit) {
textView.text = [textView.text substringToIndex:self.textLengthLimit];
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1155616次
积分:12710
积分:12710
排名:第630名
原创:192篇
评论:842条
文章:14篇
阅读:25541
文章:16篇
阅读:215856
(1)(2)(2)(1)(1)(1)(1)(5)(3)(3)(1)(1)(2)(2)(4)(1)(1)(1)(3)(1)(3)(1)(1)(12)(5)(4)(4)(5)(10)(4)(3)(1)(1)(18)(5)(1)(4)(3)(1)(2)(1)(1)(1)(1)(1)(6)(6)(2)(4)(8)(4)(2)(10)(11)(7)(3)(3)(1)(6)如何更好地限制一个UITextField的输入长度_百度知道
如何更好地限制一个UITextField的输入长度
要限制一个UITextField的输入字数(参考链接),首先想到的应该是通过UITextFieldDelegate的代理方法来限制:- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)
// return NO to not change text比如要设置字数限制为20:- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (textField == self.titleField) {
if (textField.length & 20) return NO;
return YES;}但是这样的限制简单粗暴,可能会影响用户正常逻辑下的输入,比如输入了20个字符后,要退格回删字符。这时候我们可能会考虑“Detect backspace in UITextField”,比如简单地判断replacementString的长度是否为0。
其他类似问题
为您推荐:
uitextfield的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何更好地限制一个UITextField的输入长度_百度知道
如何更好地限制一个UITextField的输入长度
要限制一个UITextField的输入字数(参考链接),首先想到的应该是通过
UITextFieldDelegate 的代理方法来限制:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)缉稜光谷叱咐癸栓含兢range replacementString:(NSString *)
// return NO to not change text 比如要设置字数限制为20:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField == self.titleField) {
if (textField.length & 20) return NO;
return YES; }
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 input限制输入长度 的文章

 

随机推荐