zoukankan      html  css  js  c++  java
  • UITextField字数限制

    UITextField字数限制,监听通知

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(limitLength:) name:UITextViewTextDidChangeNotification object:nil];//限制字数

     

    -(void)limitLength:(NSNotification*)obj{

        NSInteger kMaxLength = 7;

        UITextField *textField = (UITextField *)obj.object;

        NSString *toBeString = textField.text;

        NSString *lang = [textField.textInputMode primaryLanguage];

        if ([lang isEqualToString:@"zh-Hans"])// 简体中文输入

        {

            //获取高亮部分

            UITextRange *selectedRange = [textField markedTextRange];

            UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];

            

            // 没有高亮选择的字,则对已输入的文字进行字数统计和限制

            if (!position)

            {

                if (toBeString.length > kMaxLength)

                {

                    textField.text = [toBeString substringToIndex:kMaxLength];

                }

            }

            

        }

        // 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况

        else

        {

            if (toBeString.length > kMaxLength)

            {

                NSRange rangeIndex = [toBeString rangeOfComposedCharacterSequenceAtIndex:kMaxLength];

                if (rangeIndex.length == 1)

                {

                    textField.text = [toBeString substringToIndex:kMaxLength];

                }

                else

                {

                    NSRange rangeRange = [toBeString rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, kMaxLength)];

                    textField.text = [toBeString substringWithRange:rangeRange];

                }

            }

        }

     

    }

  • 相关阅读:
    在现有项目中使用AspNet Identity 2.0 实战
    SQL 带自增长列的表的插入
    在C++中子类继承和调用父类的构造函数方法
    C++继承
    C++中重载、重写(覆盖)和隐藏的区别实例分析
    C++类
    C++中头文件(.h)和源文件(.cpp)都应该写些什么
    C++模板
    C语言字符串操作总结大全
    C++ 标准模板库(STL)
  • 原文地址:https://www.cnblogs.com/yeschenbaby/p/6376639.html
Copyright © 2011-2022 走看看