IOS UITextView、UITextField长度限制

2024-05-31 14:48

本文主要是介绍IOS UITextView、UITextField长度限制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:在开发中我们都会碰到UITextView、UITextField输入长度限制。

大致步骤如下:

1、获取文本内容;

2、获取文本输入模式;

3、判断是否是中文;

4、如果是中文,获取标识的内容位置

5、如果超过限定的长度,则进行截串;


一、UITextView限制长度

/***  限制textView输入长度**  @param textView UITextView*  @param length   限制长度*/+ (void)textView:(UITextView *)textView limitLength:(int)length
{//1.获取文本内容NSString *toBeString = textView.text;//2.获取文本输入模式UITextInputMode *mode = textView.textInputMode;NSString *lang = mode.primaryLanguage;//3.判断是否是中文if ([lang isEqualToString:@"zh-Hans"]) {//3.1获取标识的文本范围UITextRange *range = [textView markedTextRange];UITextPosition *position = [textView positionFromPosition:range.start offset:0];//3.2如果超过限定的长度,则进行截串if (!position && toBeString.length > length) {textView.text = [toBeString substringToIndex:length];}}else {//3.2如果超过限定的长度,则进行截串if (toBeString.length > length) {textView.text = [toBeString substringToIndex:length];}}
}


二、UITextField限制长度

/***  限制textField输入长度**  @param textField   UITextField*  @param limitLength 限制长度*/
+ (void)textField:(UITextField *)textField limitLength:(int)limitLength
{NSString *toBeString = textField.text;UITextInputMode *mode = textField.textInputMode;NSString *lang = mode.primaryLanguage;if ([lang isEqualToString:@"zh-Hans"]) {UITextRange *range = [textField markedTextRange];UITextPosition *positon = [textField positionFromPosition:range.start offset:0];if (!positon && toBeString.length > limitLength) {textField.text = [toBeString substringToIndex:limitLength];}}else{if (toBeString.length > limitLength) {textField.text = [toBeString substringToIndex:limitLength];}}
}



这篇关于IOS UITextView、UITextField长度限制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1018231

相关文章

Nginx 413修改上传文件大小限制的方法详解

《Nginx413修改上传文件大小限制的方法详解》在使用Nginx作为Web服务器时,有时会遇到客户端尝试上传大文件时返回​​413RequestEntityTooLarge​​... 目录1. 理解 ​​413 Request Entity Too Large​​ 错误2. 修改 Nginx 配置2.1

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Java实现按字节长度截取字符串

《Java实现按字节长度截取字符串》在Java中,由于字符串可能包含多字节字符,直接按字节长度截取可能会导致乱码或截取不准确的问题,下面我们就来看看几种按字节长度截取字符串的方法吧... 目录方法一:使用String的getBytes方法方法二:指定字符编码处理方法三:更精确的字符编码处理使用示例注意事项方

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

poj 2135 有流量限制的最小费用最大流

题意: 农场里有n块地,其中约翰的家在1号地,二n号地有个很大的仓库。 农场有M条道路(双向),道路i连接着ai号地和bi号地,长度为ci。 约翰希望按照从家里出发,经过若干块地后到达仓库,然后再返回家中的顺序带朋友参观。 如果要求往返不能经过同一条路两次,求参观路线总长度的最小值。 解析: 如果只考虑去或者回的情况,问题只不过是无向图中两点之间的最短路问题。 但是现在要去要回