你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 解決iOS7上UITextField限制字數輸入導致崩潰問題的方法

解決iOS7上UITextField限制字數輸入導致崩潰問題的方法

編輯:IOS開發綜合

在一些場景中,需要限制用戶的輸入字數,例如在textField裡進行控制(textView也類似,崩潰原因也相同),如圖所示

系統會監聽文本輸入,需要注意的第一點是輸入法處於聯想輸入還未確定提交的時候,對於第三方輸入法例如搜狗,聯想狀態下的輸入,是監聽不到,除非點擊確定輸入到textField,才會觸發changed事件。

但對於系統鍵盤,聯想狀態下的輸入也會監聽,這裡如果不處理就容易發生崩潰,例如當快要達到字數限制時,繼續輸入,此時textField.text =聯想輸入文字+textField已有文字,當textField.text超過字數限制時,就會截取限長部分賦值給textField.text,但這時輸入數據還沒提交,textField.text不允許改變,於是沖突產生,繼而導致崩潰。在iOS8、9沒有崩潰的原因估計是系統做了優化處理,達到字數限制時,自動將限制范圍內的聯想文字確定輸入到textField中。

解決辦法是判斷一下markedTextRange是否為nil,即沒有聯想狀態或高亮狀態下的文字時,再進行文字限長檢查或賦值

以上就是本文的全部內容,希望對大家的學習有所幫助。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved