zoukankan      html  css  js  c++  java
  • iOS之限制TextField的输入长度

    网上有很多限制textField输入长度方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法.
    我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???
    当你看到这篇文章很有可能视是为一件事所苦恼那就是使用监听限制输入长度后不能够完美的控制输入内容.
    举一个简单的例子:
    你要限制输入长度为30个字符,当你输入30个字符后监听的确可以很好的控制不让你继续输入,但是问题也随之而来,当你把光标移动到输入内容中间的位置后,你是可以继续输入的这种输入让人很苦恼因为当你输入后你的光标会移动到最后,并且限制你继续输入,但是你刚刚输入的内荣却保留在了文本中间,这很不符合要求.
    因此在这里采用代理可以很好的实现我们想要的效果,仅仅几行代码希望给你带来帮助.

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
        if (textField == self.liveThemeTextField) {
        //这里的if时候为了获取删除操作,如果没有次if会造成当达到字数限制后删除键也不能使用的后果.
            if (range.length == 1 && string.length == 0) {
                return YES;
            }
            //so easy
            else if (self.liveThemeTextField.text.length >= 30) {
                self.liveThemeTextField.text = [textField.text substringToIndex:30];
                return NO;
            }
        }
        return YES;
    }
  • 相关阅读:
    IE9发布会,有想去的联系我,有赠票(3月21日,周一)
    HTML5时代的浏览器全面测试
    CTO门的windows 7 要不要买?是不是正版?
    约束与索引
    Linux关机命令详解
    CSS XSLT
    xml xslt中的空格输出处理
    Jmeter笔记(15)随机取 用户定义的变量
    $.getJSON不执行的原因
    更改eclipse中java和jsp文件字体的大小
  • 原文地址:https://www.cnblogs.com/rglmuselily/p/8657365.html
Copyright © 2011-2022 走看看