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