1. -UITextFiled 通常显示一行   -UITextView 可以输入很多数据

当用户点击一个UITextField、UITextView 表名需要输入数据 点击的这个控件就会成为第一响应者firstResponder 系统就会自动弹出一个键盘

becomeFirstResponder成为第一响应者:弹出键盘
//弹出键盘

[self.nameTextFiled becomeFirstResponder];

resignFirstResponder取消第一响应者:隐藏键盘
//隐藏键盘

[self.nameTextFiled resignFirstResponder];

keyboardType 改键盘类型

-text 显示的内容
-placeholder 默认提示内容 开始输入的时候就自动消失
-background 设置背景图 当 borderStyle为roundRect的时候无效

-borderStyle 外框的风格 none line bezel round

UITextBorderStyleNone, UITextBorderStyleLine,

UITextBorderStyleBezel, UITextBorderStyleRoundedRect

//创建UITextFiled
self.nameTextFiled = [[UITextField alloc]initWithFrame:CGRectMake(50, 100, 200, 50)];

//设置边框的类型

_nameTextFiled.borderStyle = UITextBorderStyleLine;

//设置边框颜色

_nameTextFiled.layer.borderColor = [UIColor greenColor].CGColor;

_nameTextFiled.layer.borderWidth = 1;

//设置默认提示内容

_nameTextFiled.placeholder = @"请输入名字";

//设置字的属性

_nameTextFiled.textColor = [UIColor redColor];

_nameTextFiled.textAlignment = NSTextAlignmentLeft;

_nameTextFiled.font = [UIFont systemFontOfSize:16];

//设置键盘的风格

_nameTextFiled.keyboardType = UIKeyboardTypeDefault;

[self.view  addSubview:_nameTextFiled];

监听行为/事件 delegate

UITextFieldDelegate //配置是否可以输人

//当textField becomeFirstResponder之前会调用这个方法
//YES 可以编辑 可以成为第一响应者

//NO 不可以编辑 不能成为第一响应者

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

NSLog(@"是否可以开始编辑");

return YES;

}

//开始编辑 点击输入框 即将开始输人内容
- (void)textFieldDidBeginEditing: (UITextField *)textField{

NSLog(@"开始编辑 textFieldDidBeginEditing "); }

//配置是否可以取消第一响应者 是否可以停止输入内容
//当textField resignFirstResponder之前会调用这个方法

//YES 可以取消第一响应者
//NO 可以取消 一直等待输入
- (BOOL)textFieldShouldEndEditing: (UITextField *)textField{

NSLog(@"是否可以停止输入 ");

return YES; }

//停止编辑
- (void)textFieldDidEndEditing:(UITextField *)textField{

NSLog(@"停止编辑 "); }

//键盘上的return按钮被点击
- (BOOL)textFieldShouldReturn: (UITextField *)textField{

NSLog(@"键盘上的return键被点击 ");

[self.nameTextFiled resignFirstResponder];

return YES; }

//实时监听textField上文本内容的改变

//range
//string 新输入的字符

//即将 新输入的字符来拼接字符 注意 还没有拼接

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

//原来显示的内容

NSLog(@"改变之前的内容:%@", textField.text);

//新的内容= string去替换text上range 范围的内容

NSString *newStr = [textField.text stringByReplacingCharactersInRange:range withString:string];

NSLog(@"即将显示的内容:%@", newStr);

return YES; }