利用TextFieldDelegate代理方法 – textField:shouldChangeCharactersInRange:replacementString: 限制输入字符

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

{

if (textField == _workIdTxt) {

NSUInteger lengthOfString = string.length;

for (NSInteger loopIndex = 0; loopIndex < lengthOfString; loopIndex++) {//只允许数字输入

unichar character = [string characterAtIndex:loopIndex];

if (character < 48) return NO; // 48 unichar for 0

if (character > 57) return NO; // 57 unichar for 9

}

// Check for total length

NSUInteger proposedNewLength = textField.text.length - range.length + string.length;

if (proposedNewLength > 10 || proposedNewLength<2) return NO;//限制长度

return YES;

}

return YES;

}

利用TextFieldDelegate代理方法 – textField:shouldChangeCharactersInRange:replacementString: 限制输入字符

时间: 2024-10-09 11:53:50

利用TextFieldDelegate代理方法 – textField:shouldChangeCharactersInRange:replacementString: 限制输入字符的相关文章

UITextField的代理方法:textField:shouldChangeCharactersInRange:replacementString

原文链接:http://www.cnblogs.com/zhanggui/p/6101813.html 这个我在开发的过程中用到的次数最多,因此这里就简单对其进行分析.先看看Command+点击 弹出的内容解释: 它的解释大概意思如下:告诉代理方法指定的text应不应该改变.textfiled会在用户输入内容改变的情况下调用.使用这个方法来验证使用时用户输入的类型.例如,你可以使用这个方法来让用户只是输入数字,而没有其他字符. 它的string参数:用来在指定范围替换的字符.在输入的过程中,这个

iOS textfield代理方法调用的先后顺序(转)

查看原文 今天通过自己的学习把textfield的代理方法全部罗列出来,先后调用顺序做了一下验证. 操作方法是,打开界面-->点击textField-->输入'abc'-->点击'x'清除按钮-->点击键盘'换行'-->点击'完成' log日志: 4 2 4 1 1 1 5 7 6 3 #pragma mark - textField delegate - (BOOL)textField:(UITextField *)textField shouldChangeCharact

textField代理方法

//textField代理方法// 返回no 不能输入文字- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string // 进入编辑模式- (void)textFieldDidBeginEditing:(UITextField*)textField // 设置中文(locale属性)datePicker.loca

ios文本框基本使用,以及所有代理方法的作用

/* UITextField文本输入框 */ UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 50, 275, 50)]; //设置边框形式 /* UITextBorderStyleRoundedRect 圆角形式 UITextBorderStyleLine 线条形式 UITextBorderStyleBezel 槽形式 */ textField.borderStyle = UITextBord

UItextfield 基本属性 代理方法

在使用UItextfield时它的基本属性和代理方法都很简单,但有一次我用UItextfield时出现了这种情况,有三个UI textfield,其中第一个点击触发代理方法,其他两个点击处于编辑状态,当时我试了好多方式都没有成功.后来经过查资料和问同事才得以解决.我遇到过这样的问题相信也有很多同行也会遇到,这里我就把它分享给大家. 在头文件中导入: #import "IQKeyboardManager.h" 然后在写入下面两段代码: //设置本视图不使用IQKeyBoard,键盘不使用

代理方法- 深入解析

今天结合一个实际的demo 来给大家讲解一下代理方法的运用 首先介绍一下 什么是代理,有什么用 /** 可以提高代买的复用性 *  代理的作用 1.封装变化点 2.解决类与类之间的强耦合性 3.可以在类之间进行数据传递 什么情况下使用代理好呢 1.有一系列变化点(比如:UIScrollView 有许多方法,) 能够让用户清晰的知道到底有哪些变化点被封装起来了 */ 我们在项目开发的过程中会用到很多的代理,block 两个之间有区别也有联系,代理和block 都可以用来传值 代理实现起来步骤比较多

UI第七讲.UIScrollView , UIScrollview的常用代理方法, UIPageControl的使用, UIPageControl与UIScrollView的结合使用

一.UIScrollView的常用属性 UIScrollView是可以滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能. UIScrollView是所有滚动视图的基类.以后的UITableView,UITextView等视图都是继承于该类. 使用场景:显示不下(单张?大图);内容太多(图?文混排);滚动头条(图片);相册等 UIScrollView(滚动视图)的样式: 常用属性: 1.UIScrollView的核心功能 UIScrollview主要专长于

【iOS开发-30】UITabBarController的几种代理方法以及结合NSUserDefaults还原上次退出时被选中视图控制器和视图控制器的顺序

一.UITabBarController的几种代理方法 在AppDelegate.h中加入一个协议<UITabBarControllerDelegate>,然后再AppDelegate.m中添加如下代理方法: 如果没有效果,可能是缺少tbCon1.delegate=self;把代理指定给当前AppDelegate. -(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:

关于利用动态代理手写数据库连接池的异常 java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection

代码如下: final Connection conn=pool.remove(0); //利用动态代理改造close方法 Connection proxy= (Connection) Proxy.newProxyInstance(conn.getClass().getClassLoader(), conn.getClass().getInterfaces(), new InvocationHandler() { @Override public Object invoke(Object pro