如何保证一个textfield输入最长的文字
2024-10-21 23:17:02
NSString *lang = [self.inputTextField.textInputMode primaryLanguage]; // 键盘输入模式
if ([lang isEqualToString:@"zh-Hans"])
{ // 简体中文输入,包括简体拼音,健体五笔,简体手写
UITextRange *selectedRange = [self.inputTextField markedTextRange]; //获取高亮部分
//获取已经确认的文字的长度
NSInteger confirmedlength = [self.inputTextField offsetFromPosition:self.inputTextField.beginningOfDocument
toPosition:selectedRange.start];
if ((nil == selectedRange) || selectedRange.isEmpty)
{
confirmedlength = self.inputTextField.text.length;
}
//截断超过长度的部分
BOOL bCuttedOff = NO;
//处理一个字符长度超过多个的情况
if (confirmedlength >= 15)
{
NSRange rangeRange = [self.inputTextField.text rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, 15)];
if (self.inputTextField.text.length > rangeRange.length)
{
bCuttedOff = YES;
self.inputTextField.text = [self.inputTextField.text substringSafeWithRange:rangeRange];
}
}
if (YES == bCuttedOff)
{
//太长了
}
return;
}
else
{
BOOL bCuttedOff = NO;
if (self.inputTextField.text.length > 15)
{
//处理一个字符长度超过多个的情况
NSRange rangeRange = [self.inputTextField.text rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, 15)];
if (self.inputTextField.text.length > rangeRange.length)
{
bCuttedOff = YES;
self.inputTextField.text = [self.inputTextField.text substringSafeWithRange:rangeRange];
}
}
if (YES == bCuttedOff)
{
//太长了
}
return ;
}
最新文章
- JavaScript基础知识总结(三)
- Daily Scrum02 12.13
- Objective-C 再谈OC指针,对比C++/Java/Swift
- 启动Tomcat服务器报错: Several ports (8005, 8080, 8009) required
- Python在安装第三方模块遇到的问题及解决办法
- JVM 参数翻译汉化解释
- HDU 4679 Terrorist’s destroy
- 如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)
- Unable to create the store directory. (Exception from HRESULT: 0x80131468)
- android--HttpURLConnection(转载)
- GNU DAEMON THREAD <;1>;
- [leetcode] Reverse Linked List 分类: leetcode 算法 2015-07-09 18:44 2人阅读 评论(0) 收藏
- SharePoint Solutions Deployment-PowerShell
- nginx 配置访问限制
- Kettle启动及简单操作(1)
- 在js中,window != top 的作用
- 工厂模式(Factory Method)
- CVE-2017-8635复现
- PHP全栈学习笔记5
- Kotlin入门教程——目录索引
热门文章
- out.write(b,0,len)怎么解释?
- linux系统文件的安全与特殊权限
- 基于jquery的ajax方法封装
- [C++] inline function
- p4364 [九省联考2018]IIIDX
- 2018年计科五班秋季C语言基础课第1次作业
- C# WebService中任务处理线程创建子线程后
- ADT
- Gym 100989L (DFS)
- [示例] Drag And Drop for FireMonkey (Win &; macOS)