问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

iOS中对文本输入的监听处理

发布网友 发布时间:2023-03-18 04:02

我来回答

1个回答

热心网友 时间:2023-11-07 17:25

实际开发当中很多要用到对UItextfield或者UItextfield输入的监听,*字数及其他一些处理,但是由于中文输入法的键盘上有联想、推荐的功能,所以使用这两个控件的代理方法可能导致文本内容长度上有些不符合预期,导致越界使处理条件出错,所以可以考虑使用以下方法来实现文本控制条件:

1.首先需要注册通知:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onTextViewEditChanged:) name:@"UITextViewTextDidChangeNotification" object:nil];

2.实现监听方法:

// 监听字符变化,并处理

- (void)onTextViewEditChanged:(NSNotification *)obj

{

UITextView *textView = (UITextView *)obj.object;

self.placeholderLab.hidden = textView.hasText;

if (ReportTextViewMaxLength > 0)

{

NSString *toBeString = textView.text;

//获取当前高亮

UITextRange *selectedRange = [textView markedTextRange];

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

// 如果没有高亮选择,则对已经输入的文字进行字数统计、*

if (!position)

{

if (toBeString.length > ReportTextViewMaxLength)

{

[textView shake];

[MBProgressHUD show:@"举报内容最多为60字!" icon:nil view:[UIApplication sharedApplication].keyWindow hideAfterDelay:1.0];

NSRange rangeIndex = [toBeString rangeOfComposedCharacterSequenceAtIndex:ReportTextViewMaxLength];

if (rangeIndex.length == 1)

{

textView.text = [toBeString substringToIndex:ReportTextViewMaxLength];

}

else

{

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

textView.text = [toBeString substringWithRange:rangeRange];

}

}

}

}

//这里可以实现其他需要的处理。

}

}

3.最后不要忘了在页面销毁的时候移除通知:

[[NSNotificationCenter defaultCenter] removeObserver:self name:@"UITextViewTextDidChangeNotification" object:nil];
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 属兔的最佳配偶属相 生肖兔和生肖猪天造地设一对? 生肖牛属相婚配表 女属牛婚配男属鼠天造地设? 2022年属猴正缘是什么生肖 天造地设生肖鼠? 生肖鼠和什么生肖最配 天造地设是肖牛? 琴瑟和谐 天造地设的生肖配对? 我想问一下天造地设是什么生肖 历代帝王图的画品简介 历代帝王图从哪个朝代到哪个朝代 朱元璋到底长什么样呢? 唐《历代帝王图》 芦丁鸡种蛋要不要洗 古代诛九族是最严酷刑,而明朝的方孝儒被诛十族,究竟发生了什么? 专家提醒后半夜不睡真的会老的快,你平常晚上都几点睡觉? 熬夜人会衰老吗 睡眠不足会不会加速衰老 晚睡的坏处真的太多,加快你的衰老速度 电视剧丽姬传全集百度云网盘资源下载地址 哪部《秦始皇》比较经典? 借书和还书可以用什么词来形容? 房中术十三图解秘的三大主要内容介绍 iOS 的 HUD 简易封装 [iOS功能]- SVProgressHUD的一些常见用法 尝新节是哪个民族的节日 尝新节是什么时候 倚叠如山的倚叠的意思 弦外音是什么意思 滁州二手房贷款政策有什么 四字成语摇什么什么意思是什么意思是什么 直线和平面没有交点 就是平行是吗 一条直线与一个平面没有交点 则这条直线与平面平行 对吗 不对 请举例说明 空间内 两条直线无交点 山东省教师资格证报名审核未通过怎么办 怪物猎人崛起艾露猫外观装备怎么换 怪猎外观装备怎么增加 怪物猎人世界外观装备如何获得 外观装备制作方法介绍 为什么我的监控摄像头连不上手机热点了呢? 五行属水多子多福的蔡姓男孩名字有哪些? 峻浩和峻恒那个好 手机掉了,怎么才能找回来! 梦见很多龙虾的预兆 xiaomiwatchs2里的米家怎么打开