/*

UITextField文本输入框

*/

UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 50, 275, 50)];

//设置边框形式

/*

UITextBorderStyleRoundedRect 圆角形式

UITextBorderStyleLine 线条形式

UITextBorderStyleBezel 槽形式

*/

textField.borderStyle = UITextBorderStyleRoundedRect;

//通常用于寻找当前文本输入框中显示的文字

textField.text = @"";

//文本颜色

textField.textColor = [UIColor redColor];

//设置文本字体大小

textField.font = [UIFont systemFontOfSize:20];

//设置背景颜色

textField.backgroundColor = [UIColor lightGrayColor];

//当重复开始编辑时候 清除文字

textField.clearsOnBeginEditing = YES;

//文字提示

textField.placeholder = @"请输入您的大区名字";

//文字密文(暗文) 该属性通常用于设置密码输入框

textField.secureTextEntry = NO;

//文字输入时的对齐方式

textField.textAlignment = NSTextAlignmentCenter;

//文字输入的清除按钮

/*

UITextFieldViewModeWhileEditing 当输入时

UITextFieldViewModeAlways 总是

UITextFieldViewModeUnlessEditing 不在输入时候

*/

textField.clearButtonMode = UITextFieldViewModeWhileEditing;

//键盘的类型

textField.keyboardType = UIKeyboardTypeDefault;

//retuan键类型 可自定义键盘

textField.returnKeyType = UIReturnKeyJoin;

//左视图

UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 50, 50)];

label.text = @"账号";

label.textAlignment = NSTextAlignmentCenter;

textField.leftView = label;

textField.leftViewMode = UITextFieldViewModeWhileEditing;

//右视图

UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

[button setTitle:@"确定" forState:UIControlStateNormal];

button.frame = CGRectMake(0, 0, 50, 50);

[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];

textField.rightView = button;

textField.rightViewMode = UITextFieldViewModeAlways;

[self.window addSubview:textField];

//让键盘产生第一响应 键盘会自动弹起

[textField becomeFirstResponder];

//收起键盘

/*

1、点击键盘的return键

2、点击Button

3、点击空白处弹回键盘

*/

  

/*

手势

*/

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapClick)];

自定制方法/手势方法

- (void)tapClick{

UITextField * textField = (UITextField*)[self.window viewWithTag:100];

[textField resignFirstResponder];

}

- (void)buttonClick:(UIButton*)button{

//取消第一响应

UITextField * textFiled = (UITextField*)[self.window viewWithTag:100];

[textFiled resignFirstResponder];

}

所有代理方法作用

//当Return键被点击时调用 通常用于收回键盘

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

[textField resignFirstResponder];

return YES;//5.1前设置NO为点击无效

}

//文本输入框开始输入时调用

- (void)textFieldDidBeginEditing:(UITextField *)textField{

//将键盘弹出

NSLog(@"开始输入");

}

//文本输入框结束输入时调用

- (void)textFieldDidEndEditing:(UITextField *)textField{

//获取当前文本输入框中所输入的文字

NSLog(@"所输入的内容为:%@",textField.text);

//例:判断账号书写形式是否正确 如果不正确提示填写错误 重新输入

NSLog(@"结束输入");

}

//文本输入框内容发生变化即会调用的方法

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

/*

NSLog(@"内容:%@",textField.text);//获取的是上一次所输入内容

NSLog(@"Location:%lu Length:%lu",range.location,range.length);//范围为当前文字的位置,长度为零

NSLog(@"==%@==",string);//实时获取当前输入的字符

*/

//需求 实时获取当前文本框中的所有文字

NSString * resultStr = [textField.text stringByAppendingString:string];

NSLog(@"%@",resultStr);

//可在该方法中判断所输入文字是否正确

return YES;

}

//了解

//是否允许文本输入框可以输入

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

return YES;

}

//是否允许文本输入框结束

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{

//在该方法中可以通过判断文本长度限制键盘是否可以收回

return NO;

}

//是否允许被清除

- (BOOL)textFieldShouldClear:(UITextField *)textField{

NSLog(@"文字被清除");

return YES;

}

ios UITextField文本框基本使用,以及所有代理方法的作用的更多相关文章

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

    /* UITextField文本输入框 */ UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(50, 50 ...

  2. (三)在js(jquery)中获得文本框焦点和失去焦点的方法

    在js(jquery)中获得文本框焦点和失去焦点的方法   文章介绍两个方法和种是利用javascript onFocus onBlur来判断焦点和失去焦点,加一种是利用jquery $(" ...

  3. AngularJS进阶(三)HTML:让表单、文本框只读,不可编辑的方法

    HTML:让表单.文本框只读,不可编辑的方法 有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name=" ...

  4. jQuery监控文本框事件并作相应处理的方法

    本文实例讲述了jQuery监控文本框事件并作相应处理的方法.分享给大家供大家参考.具体如下: //事情委托 $(document)  .on('input propertychange', '#que ...

  5. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  6. IOS中文本框输入自动隐藏和自动显示

    uilabe和UIText扩展方法 +(UILabel*)LabWithFrame:(CGRect)_rect text:(NSString*)aText textColor:(UIColor*)aC ...

  7. 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记35 UITextField文本框

    本话来介绍UIKit框架中的组件UITextField. UItextField(文本框)和Label看起来看像,可是文本框是能够编辑的.在UI中使用文本框要注意.由于在模拟器上面输入文字是能够使用电 ...

  8. HTML:让表单、文本框只读,不可编辑的方法

    有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name="input1" value=&qu ...

  9. HTML中让表单input等文本框为只读不可编辑的方法

    有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name="input1" value=&qu ...

随机推荐

  1. java中的finally详解(finally中没有return i,却有i=XX)

    问题分析  首先来问大家一个问题:finally 语句块一定会执行吗? 很多人都认为 finally 语句块是肯定要执行的,其中也包括一些很有经验的 Java 程序员.可惜并不像大多人所认为的那样,对 ...

  2. mysql中的慢查询日志

    首先我们看一下关于mysql中的日志,主要包含:错误日志.查询日志.慢查询日志.事务日志.二进制日志: 日志是mysql数据库的重要组成部分.日志文件中记录着mysql数据库运行期间发生的变化:也就是 ...

  3. java导出文件IE/Google文件名乱码兼容

      导出文件名乱码解决方案: String agent = request.getHeader("User-Agent"); boolean isMSIE = (agent != ...

  4. HDUOJ---1133(卡特兰数扩展)Buy the Ticket

    Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  5. 【php】基础学习5

    主要包括PHP的错误.异常处理和调试.具体如下: <html xmlns=http://www.w3.org/1999/xhtml> <head> <meta http- ...

  6. 【转载】微服务架构的基础框架选择:Spring Cloud还是Dubbo?

    微服务框架选型,原文链接请参见:http://blog.didispace.com/microservice-framework/ http://blog.csdn.net/zeb_perfect/a ...

  7. vs开发 winform 设置winform 获取管理员权限启动

    因为需要设置为开机项 没有管理员权限对注册表访问失败 C# 以管理员身份运行WinForm程序 转载https://www.bbsmax.com/A/obzbkKrQJE/ 鱼洛 2016-07-29 ...

  8. linux write系统调用如何实现

    在Linux下我们在使用设备的时候,都会用到write这个函数,通过这个函数我们可以象使用文件那样向设备传送数据.可是为什么用户使用write函数就可以把数据写到设备里面去,这个过程到底是怎么实现的呢 ...

  9. VS2012开发cocos游戏遇到问题汇总

    1.编译成android时.须要改动jni/android.mk,每一个cpp都改动一下太麻烦,能够让他自己主动识别. # 遍历文件夹及子文件夹的函数 define walk $(wildcard $ ...

  10. TextBoxes 与 TextBoxes ++

    TextBoxes 论文关键idea 本文和SegLink一样,也是在SSD的基础上进行改进的.相比SSD做了以下的改进: 修改了default box的apect ratio,分别为[1 2 3 5 ...