国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

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

2019-10-21 18:55:33
字體:
供稿:網(wǎng)友
這篇文章主要為大家分享了解決iOS7上UITextField限制字?jǐn)?shù)輸入導(dǎo)致崩潰問題的方法,感興趣的小伙伴們可以參考一下
 

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

iOS7,UITextFieldiOS7,UITextField

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

iOS7,UITextField

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

iOS7,UITextField

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

iOS7,UITextField

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



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汾阳市| 樟树市| 吴堡县| 凤阳县| 普洱| 定日县| 年辖:市辖区| 宜君县| 睢宁县| 福贡县| 武陟县| 肥乡县| 石柱| 新乡县| 大冶市| 云南省| 仁寿县| 中卫市| 曲麻莱县| 化德县| 香格里拉县| 西峡县| 垣曲县| 青铜峡市| 禹城市| 岢岚县| 建阳市| 丰原市| 万州区| 荔波县| 新河县| 定兴县| 彩票| 呼伦贝尔市| 仁怀市| 南溪县| 五河县| 安宁市| 汉阴县| 基隆市| 寿光市|