欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決iOS7上UITextField限制字?jǐn)?shù)輸入導(dǎo)致崩潰問(wèn)題的方法

 更新時(shí)間:2016年03月16日 15:58:00   作者:hou0716  
這篇文章主要為大家分享了解決iOS7上UITextField限制字?jǐn)?shù)輸入導(dǎo)致崩潰問(wèn)題的方法,感興趣的小伙伴們可以參考一下

在一些場(chǎng)景中,需要限制用戶的輸入字?jǐn)?shù),例如在textField里進(jìn)行控制(textView也類似,崩潰原因也相同),如圖所示

系統(tǒng)會(huì)監(jiān)聽(tīng)文本輸入,需要注意的第一點(diǎn)是輸入法處于聯(lián)想輸入還未確定提交的時(shí)候,對(duì)于第三方輸入法例如搜狗,聯(lián)想狀態(tài)下的輸入,是監(jiān)聽(tīng)不到,除非點(diǎn)擊確定輸入到textField,才會(huì)觸發(fā)changed事件。

但對(duì)于系統(tǒng)鍵盤,聯(lián)想狀態(tài)下的輸入也會(huì)監(jiān)聽(tīng),這里如果不處理就容易發(fā)生崩潰,例如當(dāng)快要達(dá)到字?jǐn)?shù)限制時(shí),繼續(xù)輸入,此時(shí)textField.text =聯(lián)想輸入文字+textField已有文字,當(dāng)textField.text超過(guò)字?jǐn)?shù)限制時(shí),就會(huì)截取限長(zhǎng)部分賦值給textField.text,但這時(shí)輸入數(shù)據(jù)還沒(méi)提交,textField.text不允許改變,于是沖突產(chǎn)生,繼而導(dǎo)致崩潰。在iOS8、9沒(méi)有崩潰的原因估計(jì)是系統(tǒng)做了優(yōu)化處理,達(dá)到字?jǐn)?shù)限制時(shí),自動(dòng)將限制范圍內(nèi)的聯(lián)想文字確定輸入到textField中。

解決辦法是判斷一下markedTextRange是否為nil,即沒(méi)有聯(lián)想狀態(tài)或高亮狀態(tài)下的文字時(shí),再進(jìn)行文字限長(zhǎng)檢查或賦值

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評(píng)論