关于iOS 限制 textFiled输入 长度 (我输入的的是电话号) -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于iOS 限制 textFiled输入 长度 (我输入的的是电话号)

2016-03-13 09:51:02 1996 1
不 走 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string方法

(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
 { //string就是此时输入的那个字符 textField就是此时正在输入的那个输入框 返回YES就是可以改变输入框的值 NO相反

if ([string isEqualToString:@"\n"]) //按会车可以改变
 {
 return YES;
 }

NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string]; //得到输入框的内容

if (self.textFieldY == textField) //判断是否时我们想要限定的那个输入框
 {
 if ([toBeString length] > 1) { //如果输入框内容大于20则弹出警告
 textField.text = [toBeString substringToIndex:20];
 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"超过最大字数不能输入了" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
 [alert show];
 return NO;
 }
 }
 return YES;
 }
取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 19:01:52

    这里有个自己写的demo,可以参考一下

     - (IBAction)onTextFieldEditingChanged:(id)sender {
        NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage];
        NSRange range = NSMakeRange(0, Max_Character_Num);
        if ([lang isEqualToString:@"zh-Hans"]) {//如果输入的时中文
            UITextRange *selectedRange = [self.tagNameTextField markedTextRange];
            UITextPosition *position = [self.tagNameTextField positionFromPosition:selectedRange.start offset:0];
            if (!position) {
                if (self.tagNameTextField.text.length > Max_Character_Num) {
    //                self.tagNameTextField.text = [self.tagNameTextField.text substringFrom:0 to:Max_Character_Num];
    
                    self.tagNameTextField.text = [self.tagNameTextField.text substringWithRange:range];
                }
            }
        }else{
            if (self.tagNameTextField.text.length > Max_Character_Num) {
                self.tagNameTextField.text = [self.tagNameTextField.text substringWithRange:range];
            }
        }
    }
    0 0
相关问答

2

回答

前端bug iOS下input在输入的时候英文首字母的默认大写

2021-10-20 18:09:59 9490浏览量 回答数 2

1

回答

阿里云iOS客户端里的SSH工具如何输入密钥

2017-12-14 22:31:47 4712浏览量 回答数 1

1

回答

ios 做新浪微博授权时,输入完账号和密码之后,为什么不出现授权界面?

2016-07-27 17:02:32 1763浏览量 回答数 1

1

回答

ios如何监听键盘的输入?

2016-07-27 15:30:06 2685浏览量 回答数 1

3

回答

dd.ui.input.plain在ios下不输入不能发送问题

2016-07-12 20:02:06 3785浏览量 回答数 3

1

回答

问答 当前位置:问答 » 技术问答 » iOS 搜 索 使用xib建立的textfield文本框的内容,判断其内容必须是数字。如果不是弹出对话框提示重输入

2016-06-29 16:04:54 2068浏览量 回答数 1

1

回答

iOS 我想用textview做可以输入、显示 表情和文字的编辑框(表情图片是自己的),就像qq对话框一样

2016-06-28 17:43:08 2236浏览量 回答数 1

1

回答

iOS 输入时 fixed 元素错位

2016-05-26 16:03:20 1897浏览量 回答数 1

1

回答

请问ios uitextfield从最开头输入太难看了 的难题

2016-03-13 08:17:09 1773浏览量 回答数 1

1

回答

【HPPTDHTTPDNS iOS SDK : 接口 setAuthCurrentTime如何使用?

2022-09-20 16:07:41 69浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
“移”网打尽—Mobile Network as a Ser
立即下载
数据如何让运动更好玩有趣
立即下载
聚划算iOS平台动态化方案LuaView
立即下载