仅几行iOS代码限制TextField输入长度_IOS

网上有很多限制textField输入长度方法,但是我觉得都不是很完美,准确来说可以说是不符合实际开发的要求,因此在这里整理一下textField限制输入长度的方法.

 我所采用的并不是监听方法而是最不同的代理实现方法,为什么不使用监听呢???
 当你看到这篇文章很有可能视是为一件事所苦恼那就是使用监听限制输入长度后不能够完美的控制输入内容.

 举一个简单的例子: 

你要限制输入长度为30个字符,当你输入30个字符后监听的确可以很好的控制不让你继续输入,但是问题也随之而来,当你把光标移动到输入内容中间的位置后,你是可以继续输入的这种输入让人很苦恼因为当你输入后你的光标会移动到最后,并且限制你继续输入,但是你刚刚输入的内荣却保留在了文本中间,这很不符合要求.

 因此在这里采用代理可以很好的实现我们想要的效果,仅仅几行代码希望给你带来帮助.

 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

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

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索iOS限制输入长度
textfield限制长度、textfield输入限制、textfield输入长度、input 限制输入长度、js限制输入长度,以便于您获取更多的相关知识。

时间: 2024-09-11 02:13:06

仅几行iOS代码限制TextField输入长度_IOS的相关文章

iOS 委托与文本输入(内容根据iOS编程编写)_IOS

•文本框(UITextField) 本章节继续编辑 JXHypnoNerd .文件地址 . 首先我们继续编辑 JXHypnosisViewController.m 修改 loadView 方法,向 view 中添加一个 UITextField 对象: #import "JXHypnosisViewController.h" #import "JXHypnosisView.h" @interface JXHypnosisViewController () @end @

配合LLDB调试器进行iOS代码调试

配合LLDB调试器进行iOS代码调试         在一款完整iOS移动应用的开发中,代码的调试和编写占着同等重要的地位.Xcode默认使用LLDB作为代码调试器,LLDB功能丰富且强大,恰当的使用它,可以帮助开发者事半功倍的完成代码调试的工作. 1.expression代码执行指令         关于LLDB调试器,最常用的指令应该是p与po了,开发者常用这两个命令来进行对象的打印操作,p会打印出对象地址和类型,po则会额外打印出对象的值得内容,实际上,这两个命令都是expression相

TextField和TextView限制输入字数长度_IOS

TextField和TextView限制输入长度的具体实现方法,供大家参考,具体内容如下 TextField的限制代理方法  只需要在这个代理方法里面code这样的代码就可以了 16 是长度可以自己设置 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSInteger existedLeng

java-下面代码,若输入不合法,怎么修改,抛出异常并重新输入

问题描述 下面代码,若输入不合法,怎么修改,抛出异常并重新输入 import java.util.Scanner; public class DisplayCalendar { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter a year:"); int year = input.nextInt(); System.out.p

IOS代码笔记UIView的placeholder的效果_IOS

本文实例为大家分享了IOS占位符效果,供大家参考,具体内容如下 一.效果图   二.工程图   三.代码RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UITextViewDelegate> { UITextView *psTextView; UILabel *pslabel; } @end RootViewController.m #imp

一个让开发人员仅通过声明式代码的方式实现智能数据结构的Java框架

一个朋友的框架发布1.1版本,和1.0在运行时生成额外字节码不同,1.1在编译时通过maven插件生成额外字节码,因此避免了暴露微量的设计模式给用户,让用法更简单粗暴,性能也更高.很大一部分不太像框架了,而更像是java语言的扩展,是个重大升级.此外,充分吸取1.0的教训,给出架构图并,让所有文档中英文双版,避免别人不明全局.另外,不再兼容java7. 原文 - https://github.com/babyfish-ct/babyfish/blob/master/README_zh_CN.md

一篇文章教你用 11 行 Python 代码实现神经网络

声明:本文是根据英文教程 A Neural Network in 11 lines of Python(用 11 行 Python 代码实现的神经网络)学习总结而来,关于更详细的神经网络的介绍可以参考我的另一篇博客:从感知机到人工神经网络. 如果你读懂了下面的文章,你会对神经网络有更深刻的认识,有任何问题,请多指教.   Very simple Neural Network 首先确定我们要实现的任务: 输出的为样本为 X 为 4*3,有 4 个样本 3 个属性,每一个样本对于这一个真实值 y,为

IOS textField限制字节长度_IOS

OC语言中,NSString类型的字符串,视英文字母和汉字都为一个长度(string.length把一个汉字也当做一个长度),而实际上,一个英文字母只占用1个字节,一个汉字占用2个字节. 有时又有需求,需要限定字节数目,而不是内容个数,就需要通过一些方法获取到字符串的字节数.比如,限定10个字节,则最多可以输入10个英文字母,或者5个汉字. 监听textField的长度变化,就需要设置textField的代理. 但是有个bug,监听内容变化的代理方法 - (BOOL)textField:(UIT

请教bash脚本首行需要的文件的输入,不懂

问题描述 请教bash脚本首行需要的文件的输入,不懂 我的bash脚本的操作对象是linux下的某个目录中的file.txt,这该怎么写呢? 就是当我见到别人bash脚本的第一行是i=input.txt,那我该用什么来代替这个input?orinput.txt?(设路径为/home/xiaoming/file.txt)求给行代码~ 解决方案 执行: ./脚本.sh input.txt /*在脚本中使用$1 获取第一个参数 ,第二个参数$2,同理其他*/ i=$1 /*这样i就等于input.tx