#pragma mark UITextField 文本输入框创建流程
// 创建 UITextField文本框
UITextField *field = [[UITextField alloc]initWithFrame:CGRectMake(100, 100, 150, 30)];
// 设置 UITextField的占位符
field.placeholder = @"请输入手机号";
// 设置键盘样式,如果我们只让输入数字的话,就选择这个类型,默认是UIKeyboardTypeDefault
field.keyboardType = UIKeyboardTypeNumberPad;
// 设置边框样式为圆角样式
field.borderStyle = UITextBorderStyleRoundedRect;
// 设置清除按钮
field.clearButtonMode = UITextFieldViewModeAlways;
// 设置密码样式
field.secureTextEntry = YES;
// 设置field不能输入
field.enabled = no;
// 设置field左视图
UIImageView *leftImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"0.png"]];
field.leftView = leftImage;
field.leftViewMode = UITextFieldViewModeAlways;
// 设置field右视图
UIImageView *rightImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"0.png"]];
field.rightView = rightImage;
field.rightViewMode = UITextFieldViewModeUnlessEditing;//除了编辑时不显示图片
field.tag = 2000;
//创建 UITextField对象学习代理方法
UITextField *delegte = [[UITextField alloc]initWithFrame:CGRectMake(100, 200, 100, 100)];
delegte.borderStyle = UITextBorderStyleLine;
delegte.placeholder = @"代理方法的学习";
delegte.secureTextEntry = YES;
delegte.clearButtonMode = UITextFieldViewModeAlways;
// 设置代理方法
delegte.delegate = self;
[self.window addSubview:delegte];
textField的代理方法实现
//点击return按钮所触发的方法,也就是点击return之后键盘可以自动回收,比较常用
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@"点击return按钮 = %s",__func__);
[textField resignFirstResponder];//这块不需要给上面的自定义field设置tag值,直接用代理的textField,调用回收方法就可以了。这个方法以后比较常用。
return YES;
//当前文本框是否开启编辑状态
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
NSLog(@"textField代理方法 = %s",__func__);
return YES;//这块如果是NO的话,输入框不能进行编辑,如果是YES就可以开始编辑
}
//已经进入编辑状态
- (void)textFieldDidBeginEditing:(UITextField *)textField{
NSLog(@"已经进入编辑状态 = %s",__func__);
}
//是否结束编辑状态
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
NSLog(@"是否结束编辑状态 = %s",__func__);
return YES;
}
//已经结束编辑状态
- (void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@"已经结束编辑状态 = %s”,__func__);