iOS控制UITextField的输入内容

作者: 为心而狂 | 来源:发表于2016-08-11 17:08 被阅读855次

在实践中我们都知道控制UITextField输入法使用键盘模式就能控制,但这只是做到了第一步。如果你想实现下面的效果呢?


实现效果图

宝宝没看懂了吗?就是有时你想要在输入的时候只想记录正确的格式法,不正确根本不记录。看代码:

  • 在UITextField协议方法中实现

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
BOOL basic;
if([textField.placeholder isEqualToString:@"请输入车牌号"])
{
//只能输入纯大写字母和数字
NSCharacterSet *cs;
cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNumPhone] invertedSet];
NSArray *array=[string componentsSeparatedByCharactersInSet:cs];
NSString *filtered = [array componentsJoinedByString:@""];
basic= [string isEqualToString:filtered];
if (textField.text.length >= 6) {
[LeafNotification showInController:self withText:@"车牌号码不能超过6个字符哦"];
return NO;
}
return basic;
}
return YES;
}

  • 记得给对应的控件实现协议

self.phoneTxt.delegate = self;

  • kAlphaNumPhone是宏定义

可以根据自己的需求来进行宏定义,因为很多地方都用到,我只是为了方便。eg:

示意图.png

我就列举一个,一次类推即可。

我刚开始做时,有点没明白过来。现在明白过来了,推荐给大家。不过我要谢谢提醒我的好友,么么哒!

相关文章

网友评论

    本文标题:iOS控制UITextField的输入内容

    本文链接:https://www.haomeiwen.com/subject/uhkssttx.html