博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UITextField输入中文限制
阅读量:6624 次
发布时间:2019-06-25

本文共 1063 字,大约阅读时间需要 3 分钟。

  [self.textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

 输入改变的时候监听限制输入

- (
void)textFieldDidChange:(UITextField *)textField {
    NSString *toBeString = textField.text;
    NSArray *currentar = [UITextInputMode activeInputModes];
    UITextInputMode *current = [currentar firstObject];
    
    
//
下面的方法是iOS7被废弃的,注释
//
    NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage]; 
//
 键盘输入模式
    
    
if ([current.primaryLanguage isEqualToString:
@"
zh-Hans
"]) { 
//
 简体中文输入,包括简体拼音,健体五笔,简体手写
        UITextRange *selectedRange = [textField markedTextRange];
        
//
获取高亮部分
        UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:
0];
        
//
 没有高亮选择的字,则对已输入的文字进行字数统计和限制
        
if (!position) {
            
if (toBeString.length > 
20) {
                textField.text = [toBeString substringToIndex:
20];
            }
        }
        
//
 有高亮选择的字符串,则暂不对文字进行统计和限制
        
else{
            
        }
    }
    
//
 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况
    
else{
        
if (toBeString.length > 
20) {
            textField.text = [toBeString substringToIndex:
20];
        }
    }
    NSLog(
@"
%@
",textField.text);
}

 

转载于:https://www.cnblogs.com/hxwj/p/4560229.html

你可能感兴趣的文章
第二阶段团队冲刺站立会议06
查看>>
html
查看>>
本地wampserver如何配置伪静态
查看>>
【转载】支持向量机SVM(一)
查看>>
C#串口通信实例
查看>>
小程序数据返回时刷新当前页面数据
查看>>
MySQL数据故障时备份与恢复
查看>>
Nlopt优化函数库,用法举例
查看>>
海思 core 电压动态调整
查看>>
jFinal 关联数据库操作
查看>>
团队冲刺第二天
查看>>
sed删除空行和开头的空格和tab键
查看>>
php扩展安装
查看>>
Windows与Linux之间的文件自动同步
查看>>
What a C programmer should know about memory
查看>>
MySQL备份账号权限
查看>>
15个重要的Android代码
查看>>
(转)android 牛人必修 ant 编译android工程
查看>>
求最大公约数与最小公倍数
查看>>
C# Winform 跨线程更新UI控件常用方法总结(转)
查看>>