您的位置:首页 > 产品设计 > UI/UE

UITextField简单的用法

2015-11-11 15:35 399 查看
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{
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: