网上有很多限制textField输入长度方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法.
我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???
当你看到这篇文章很有可能视是为一件事所苦恼那就是使用监听限制输入长度后不能够完美的控制输入内容.
举一个简单的例子:
你要限制输入长度为30个字符,当你输入30个字符后监听的确可以很好的控制不让你继续输入,但是问题也随之而来,当你把光标移动到输入内容中间的位置后,你是可以继续输入的这种输入让人很苦恼因为当你输入后你的光标会移动到最后,并且限制你继续输入,但是你刚刚输入的内荣却保留在了文本中间,这很不符合要求.
因此在这里采用代理可以很好的实现我们想要的效果,仅仅几行代码希望给你带来帮助.

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField == self.liveThemeTextField) {
//这里的if时候为了获取删除操作,如果没有次if会造成当达到字数限制后删除键也不能使用的后果.
if (range.length == && string.length == ) {
return YES;
}
//so easy
else if (self.liveThemeTextField.text.length >= ) {
self.liveThemeTextField.text = [textField.text substringToIndex:];
return NO;
}
}
return YES;
}

最新文章

  1. DP专题训练之HDU 1506 Largest Rectangle in a Histogram
  2. 颜色渐变的JS代码
  3. android 单例模式
  4. Python(迭代器 生成器 装饰器 递归 斐波那契数列)
  5. SRAM,SDRAM,网卡
  6. 零基Android手机嵌入式开发培训课程
  7. Effective java -- 3 类和接口
  8. Java 9 揭秘(19. 平台和JVM日志)
  9. 分享关于搭建高性能WEB服务器的一篇文章
  10. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建复杂工具栏
  11. Spring 切入点配置
  12. 学不动了,ECMAScript2018都来了
  13. python3中一句话定义函数
  14. LOIC
  15. 学习笔记-AngularJs(四)
  16. 一次mysql数据关于union+concat用法的记录
  17. JTAG - General description of the TAP Controller states
  18. ORACLE expdp/impdp详解(转)
  19. 【BZOJ4872】[Shoi2017]分手是祝愿 数学+期望DP
  20. <摘录>Linux下动态共享库加载时的搜索路径详解

热门文章

  1. wampserver 更改www目录
  2. SSM 框架-06-详细整合教程(IDEA版)(Spring+SpringMVC+MyBatis)
  3. C#.NET初识
  4. 巧用花生壳将局域网内的FTP和www服务器发布到互联网
  5. 企业级NGINX的重定向rewrite
  6. 【心得体会】我考完MOS我明白了…
  7. December 16th 2016 Week 51st Friday
  8. [EffectiveC++]item15:Provide access to raw resources in resource-managing class
  9. [BZOJ 3992][SDOI2015]序列统计
  10. [日常]蒟蒻的高一生活 Week 4