UItextField通常用于外部数据输入,以实现人机交互。
我做了一个简单地例子来做演示:
#import "ViewController.h" @interface ViewController ()<UITextFieldDelegate> {//设置全局变量 UITextField *field; UITextField *field1; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; field=[[UITextField alloc]initWithFrame:CGRectMake(20, 40, 200, 30)];//创建文本 //field.backgroundColor=[UIColor redColor];//设置文本框背景色
field.borderStyle=UITextBorderStyleBezel;//设置边框类型:有UITextBorderStyleNone(无效果),UITextBorderStyleLine(带有直角边框),UITextBorderStyleBezel(带有边框,且有内嵌效果),UITextBorderStyleRoundedRect(圆角边框) //[field setBorderStyle:UITextBorderStyleBezel];//设置边框类型
//field.background=[UIImage imageNamed:@"3.jpg"];//设置背景图片(只有当borderstyle是UITextBorderStyleBezel才会显示) field.placeholder=@"read";//默认显示的文字(未被选中时) //field.clearsOnBeginEditing=YES;//再次编辑时是否清空所有文本信息//注意必须有两个或两个以上才能实现此功能 field.clearButtonMode=UITextFieldViewModeWhileEditing;//在编辑时是否在右侧显示清空内容的按钮
UIView *view=[[UIView alloc]initWithFrame:CGRectMake(20, 40, 200, 100)]; view.backgroundColor=[UIColor redColor]; // field.leftView=view;//设置文本框左侧视图(可以是任何view或view的子类)//还有右视图 // field.leftViewMode=UITextFieldViewModeWhileEditing;//设置左侧视图什么时候显示,默认一直不显示//点击时显示,输入文字时不显示
field.inputView=view;//当文本框在编辑时的弹出视图,类似键盘 field.tag=1; field.delegate=self;//设置代理 [self.view addSubview:field];
field1=[[UITextField alloc]initWithFrame:CGRectMake(20, 80, 200, 30)]; field1.borderStyle=UITextBorderStyleLine;//设置边框类型 field1.placeholder=@"read"; field.font = [UIFont systemFontOfSize:12];//文字大小 field1.background=[UIImage imageNamed:@"3.jpg"]; field1.secureTextEntry=YES;//密码形式 field1.keyboardType= UIKeyboardTypeDefault;//设置键盘样式 field1.tag=2; field1.returnKeyType=UIReturnKeyDefault;//设置键盘return键样式 field1.delegate=self; [self.view addSubview:field1]; } //代理方法(用的时候需要重新实现) -(void)textFieldDidBeginEditing:(UITextField *)textField{ if (textField==field) { NSLog(@"第一个"); } NSLog(@"****开始编辑%zi",textField.tag); }//文本框开始被编辑 -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSLog(@"=====%@",string); return YES; } -(void)textFieldDidEndEditing:(UITextField *)textField{ NSLog(@"--结束编辑"); }//textfield结束编辑
还有以下没有写到的内容:
field.text = @"123";//手动给textfield赋值 NSString *str = field.text;//获取textfield中的文本信息 field.textColor = [UIColor blackColor];//设置文字颜色 field.textAlignment = NSTextAlignmentLeft;//文本对齐方式 field.editing;//textfield是否在编辑,只读权限 [field becomeFirstResponder];//文本框直接是被编辑状态 [field resignFirstResponder];//文本框失去焦点 //代理方法 -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ //文本框开始被编辑 return YES; } -(BOOL)textFieldShouldReturn:(UITextField *)textField{ //键盘return键被点击 return YES; } -(BOOL)textFieldShouldEndEditing:(UITextField *)textField{