一篇关于监控UITextField的软文

UITextField其实研究下发现有许多细微的问题。

这里列举一个比较突出的问题,就是监控text的的值。

恩,也许你会说,简单啊,不就是在代理里面监控么,或者用KVO观察。

那么我可以告诉你,说在代理里监控还算靠谱,但是用KVO来做,证明你就不明白何为KVC。别说怎么跑到KVC上面去了,这个不理解百度谷歌随便找或者你自己慢慢敲代码试试。

代理里监控,恩,你会想到的是这个方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

确实,这个在你输入英文的时候,确实比较靠谱,每次你输入一个字母或者数字的时候都会触发,用来处理或是屏蔽一些特殊字符的。

但是,如果你用中文输入法,你在输入拼音的时候,他会进入这个代理方法,等你去选择你需要的汉字后,他就显示在了textField上面,这也没错,问题是他不会触发上面这个方法。

所以很无语不是么。

刚好手头有RAC的库,于是使用RAC的textsignl,他就能很好的触发,即,每次改变时都会发出一个signle,然后,为什么会这样呢,我进入到他其中查看源码,原来他是相当于监控的状态

UIControlEventEditingChanged|UIControlEventEditingDidBegin

相当于add target action,因为UITextFeild是派生于UIControl,所以有对应state,所以可以使用此方法。于是问题解决。

这里需要说明一个KVO的问题,KVO是基于KVC的,需要set方法来触发,而UITextfeild的text在你输入的时候是不会触发set方法的,正如NSMutableArray里面添加一个元素,他执行的方法是add,所以也不会触发set方法,即不能被监控。

另外送上一个常用的代码,用来计算输入的字符的长度的:(也是拔得别人的,汉字占2个)

-  (int)charNumber:(NSString*)strtemp {

    int strlength = 0;

// 这里一定要使用gbk的编码方式,网上有很多用Unicode的,但是混合的时候都不行


//NSStringEncoding gbkEncoding =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);


char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];
    for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
        if (*p) {
            p++;
            strlength++;
        }
        else {
            p++;
        }
    }
    return strlength;
}

一篇关于监控UITextField的软文

时间: 2024-07-31 21:26:37

一篇关于监控UITextField的软文的相关文章

软文策划:定位、关键字选择、SEO优化、渠道

软文写得再好,如果没人看,也是毫无价值可言.一篇有价值的软文,不仅需要老司机般的经验,更需要写手精心策划过,才能快速稳当的开到读者面前.下面,由软文策划老司机分享一下有价值的软文,应该具备哪四大因素. 第一:定位 所谓知己知彼软文,百战百胜,见人说人话,见鬼说鬼话,说的就是"定位"两个字. 首先我们得知道面对的读者是谁,然后才懂怎么写以及从哪里入手,首富王健林都说了,先给自己定个小目标,是有道理的.定位的目的,就是传达给读者一个信息"我们是专家,我们更了解你."我们

实战教你如何写一篇优质软文

导语:软文推广是我认为最好的一种推广模式,因为软文效果好,见效快,容易搜集精准数据库,是新手学习推广的不二之选.但是网上有很多教程只是泛泛而谈,没有真正的教会你如何实战编写软文.今天,教你如何真正的写好一篇读者喜欢的软文.我们以减肥软文为例. 第一 选择软文发布平台 这个很重要,你要明确自己的软文是写给谁看的.我们写减肥软文,就是为了写给那些愿意减肥的人看的,那么就要寻找这些人常常待在什么地方,肯定是一些高人气的减肥论坛. 选择发布平台应当注意: 1.注册账号,观察读者喜欢在论坛的哪个版块活跃;

阿里云合作、市场,运维派,多备份两篇软文

阿里云(合作):https://www.aliyun.com/customer/detail/dbf/ 阿里云(市场):https://market.aliyun.com/products/56014009/cmgj000276.html 运维派:http://www.yunweipai.com/ 两篇软文:http://www.yunweipai.com/archives/4362.htmlhttps://myhloli.com/duobeifen.html 众包: http://www.ma

陈金凌 如何写一篇产品目标人群是妈妈族群的软文

陈金凌  如何写一篇产品目标人群是妈妈族群的软文 http://pan.baidu.com/s/1hq7xTZ2

一篇好的软文就应该有一个好的标题

无论是什么样的软文,读者群体接触的第一眼就是标题,一个好的标题,那么这篇文章基本就成功了一半,如若是标题并不能吸引人的眼球,那么即使文章写得再好,会点进去的读者也不会多. 以下是维贝工作室根据多年软文推广营销的经验,分享标题的写法.类型: 一.数字型标题 数字主要起总结提示的作用,比如 [你必须注意的软文写法的五大禁忌] 二.揭秘式标题 [揭秘街头骗术] 三.疑问型标题 [某某公司怎么样?好不好?] 四.描述型标题 [何润东点评央视3.15后缀8点20引发争议] 五.结论型标题 [软文广告营销愈

如何写好一篇软文?

大部分做SEO的站长不知道如何去写一篇高质量的软文,即使技术非常好也不知道怎么表达出来.其实写软文很简单,学习写好软文能让你的优化做的更加容易. 1.标题选择 如果你的软文适用于网站的推广,不管是引导用户还是网站品牌的推广那么都需要考虑用户的定位.因为在这个行业永远是初级用户看文章的比较多,而有一定经验的SEOer很少去看论坛帖子文章.所以我们的设置标题的时候一定要抓住初级用户,标题一定要是基础的内容,涉及到高深的技术初级用户很难懂,自然也不会去点击了.怎么去设置呢?标题一定要懂得选择关键词,通

每天坚持不懈的写软文,得到的几点心得感悟

夜深了,我喜欢这样宁静的夜,它能让人不用去想更多的事情,专注于做自己想做的事情,我认为是一种幸福的事情,拿着手机播放了今晚的<半夜听>节目,听这个节目已经有一段时间了,虽然每天只有那么短短的几分钟,但是那些字眼确实令我欲罢不能,听完几分钟的半夜听后,顺手热了杯特仑苏牛奶,年轻自然需要多补脑,热牛脑的几分钟,就收到一位SEO朋友的咨询,聊着聊着最后笔者以一句"你先休息吧,我还要写稿!" 朋友便调侃式地问我,你每天坚持写作那么久,得到了什么吗? 一般被别人遇到这个问题,我都不屑

微信营销必备软文写作技巧-最大化推广效果

微信营销文案中软文的质量是十分重要的一环.好的软文不仅将所需散播的信息发送给了受众,而且还能受到受众的喜爱.硬性广告不仅无法将信息传到给受众,而且会引起反感得不偿失. 撰写一篇好营销文案的一个重要环节就是一个好的标题.一个好的标题往往影响着你的营销文案是不是吸引人,你的营销文案是不是可以被人们记住,你的传播软文是不是可以流传的很广,标题在这里起到了非常大的作用.那怎样才可以写出个非常好的标题.微行天下谈谈自己的看法. 网络营销文案标题撰写的5大原则 1. 主题鲜明 标题是文案内容的高度概括,要使

站长必修课之软文写作

软文之所以叫做软文,就是因为它的广告性质是在不知不觉中把信息传递给你,而在用户眼中,软文就是比较隐晦地把广告信息渗透给读者,但是目前我们看到的很多的软文其实就像硬性广告,并没有把软文的特点表现出来. 所以,对于软文,无论是作者还是读者,我们都应该持有一种开放的心态,因为一篇优秀软文能带给我们许多的启示,凡科自助建站对软文就有以下的看法. 一.站长是一头"领头羊",对于站长来说,要hold住全局,必须要对软文写作这个行业的各方面,事无巨细都有全面的了解,包括行业特色.品牌企业.产品销售情