解决iOS7上UITextField限制字数输入导致崩溃问题的方法

 更新时间:2016年03月16日 15:58:00   作者:hou0716  
这篇文章主要为大家分享了解决iOS7上UITextField限制字数输入导致崩溃问题的方法,感兴趣的小伙伴们可以参考一下

在一些场景中,需要限制用户的输入字数,例如在textField里进行控制(textView也类似,崩溃原因也相同),如图所示

系统会监听文本输入,需要注意的第一点是输入法处于联想输入还未确定提交的时候,对于第三方输入法例如搜狗,联想状态下的输入,是监听不到,除非点击确定输入到textField,才会触发changed事件。

但对于系统键盘,联想状态下的输入也会监听,这里如果不处理就容易发生崩溃,例如当快要达到字数限制时,继续输入,此时textField.text =联想输入文字+textField已有文字,当textField.text超过字数限制时,就会截取限长部分赋值给textField.text,但这时输入数据还没提交,textField.text不允许改变,于是冲突产生,继而导致崩溃。在iOS8、9没有崩溃的原因估计是系统做了优化处理,达到字数限制时,自动将限制范围内的联想文字确定输入到textField中。

解决办法是判断一下markedTextRange是否为nil,即没有联想状态或高亮状态下的文字时,再进行文字限长检查或赋值

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • 详解Xcode 9 设置 iOS无线真机调试

    详解Xcode 9 设置 iOS无线真机调试

    本篇文章主要介绍了详解Xcode 9 设置 iOS无线真机调试,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 基于IOS端微信分享失效的踩坑及解决方法

    基于IOS端微信分享失效的踩坑及解决方法

    下面小编就为大家分享一篇基于IOS端微信分享失效的踩坑及解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • iOS 获得现在的时间代码

    iOS 获得现在的时间代码

    本文通过实例代码给大家介绍了iOS 获得现在的时间的方法,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-06-06
  • ios基于UITableViewController实现列表

    ios基于UITableViewController实现列表

    这篇文章主要介绍了ios基于UITableViewController实现列表的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • iOS11实现App内自动连接Wi-Fi的方法

    iOS11实现App内自动连接Wi-Fi的方法

    这篇文章主要给大家介绍了关于iOS11实现App内自动连接Wi-Fi的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • iOS实现按钮点击选中与被选中切换功能

    iOS实现按钮点击选中与被选中切换功能

    这篇文章主要介绍了iOS实现按钮点击选中与被选中切换功能,需要的朋友可以参考下
    2017-07-07
  • 详解iOS 裁剪圆形图像并显示(类似于微信头像)

    详解iOS 裁剪圆形图像并显示(类似于微信头像)

    本篇文章主要介绍了iOS 裁剪圆形图像并显示(类似于微信头像),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 浅谈强大易用支持URL Rewrite的iOS路由库FFRouter

    浅谈强大易用支持URL Rewrite的iOS路由库FFRouter

    FRouter 是 iOS 中一个强大且易用的 URL 路由库,支持 URL Rewrite,基于匹配查找 URL,效率高。非常具有实用价值,需要的朋友可以参考下
    2018-10-10
  • iOS毛玻璃效果的实现及图片模糊效果的三种方法

    iOS毛玻璃效果的实现及图片模糊效果的三种方法

    App设计时往往会用到一些模糊效果或者毛玻璃效果,iOS目前已提供一些模糊API可以让我们方便是使用,本文给大家介绍iOS毛玻璃效果的实现及图片模糊效果的三种方法,感兴趣的朋友一起学习吧
    2016-01-01
  • iOS如何定义名为任意的变量详解

    iOS如何定义名为任意的变量详解

    这篇文章主要给大家介绍了关于iOS如何定义名为任意的变量的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-05-05

最新评论