UITextField 继承于UIControl
UIControl 继承于UIVIew
初始化
UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 200, 50)];
设置属性 先添加背景颜色
field.backgroundColor = [UIColor yellowColor];
1.添加字
field.text = @”请输入”;
field.textColor = [UIColor redColor];
2.设置字体对齐方式
field.textAlignment = NSTextAlignmentCenter;
3.设置字体大小
field.font = [UIFont systemFontOfSize:20];
4.设置占位字(只有当没有输入的字才会显示)
field.placeholder = @”请输入”;
5.是否允许输入(默认是YES 允许输入)
field.enabled = YES;
6.是否开始输入时清空输入框内容(默认是NO)
field.clearsOnBeginEditing = YES;
7.密文输入(默认 NO) 字是什么颜色 圆圈就是什么颜色
field.secureTextEntry = YES;
8.弹出键盘类型 (有数字类型)
field.keyboardType = UIKeyboardTypeDefault;
9.设置 键盘右下角return 的样式
field.returnKeyType = UIReturnKeyDone;
10.自定义键盘 (默认是键盘 影响他的只有高度)
UIView *inputView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 150)];
inputView.backgroundColor = [UIColor greenColor];
field.inputView = inputView;
[inputView release];
11.键盘辅助视图 (影响他的只有高度)
UIView *inputAccessoryView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 30)];
inputAccessoryView.backgroundColor = [UIColor yellowColor];
field.inputAccessoryView = inputAccessoryView;
[inputAccessoryView release];
12.边框样式
field.borderStyle = UITextBorderStyleRoundedRect;
13.清除按钮何时出现 (默认永不出现)
field.clearButtonMode = UITextFieldViewModeAlways;
14.输入框左视图(影响他的只有宽和高)
UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 50)];
leftView.backgroundColor = [UIColor greenColor];
field.leftView = leftView;
15.左视图显示模式 (默认不显示)
field.leftViewMode = UITextFieldViewModeWhileEditing;
[leftView release];
16.输入框右视图
UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 50)];
rightView.backgroundColor = [UIColor redColor];
field.rightView = rightView;
[rightView release];
17.右视图显示模式 (默认不显示)
field.rightViewMode = UITextFieldViewModeUnlessEditing;
18.设置代理(方法在那里实现 就把谁设置为代理)
field.delegate = self;
19.显示视图
[self.window addSubview:field];
释放
[field release];
实现键盘回收的方法
UITextField先遵守< UITextFieldDelegate >协议
@interface AppDelegate : UIResponder < UIApplicationDelegate,UITextFieldDelegate >
实现协议中的方法
– (BOOL)textFieldShouldReturn:(UITextField *)textField
{
键盘回收 取消第一相应者
[textField resignFirstResponder];
return NO;
}
设置代理
field.delegate = self;
实现点击return 光标移动到下一个 方法
1.循环创建三个UITextField
for(int i = 0; i < 3; i++) {
UITextField textField = [[UITextField alloc] initWithFrame:CGRectMake(100, 50 + (i 60), 100, 50)];
textField.backgroundColor = [UIColor greenColor];
textField.tag = 100 + i;
textField.delegate = self;
[self.window addSubview:textField];
[textField release];
}
2.实现点击return 光标移动到下一个
UITextField先遵守< UITextFieldDelegate >协议
@interface AppDelegate : UIResponder < UIApplicationDelegate,UITextFieldDelegate >
实现协议中的方法
– (BOOL)textFieldShouldReturn:(UITextField *)textField
{
取出下一个相应者(前提是每个响应者已经依次标记 tag)
UITextField temp = (UITextField )[self.window viewWithTag:textField.tag + 1];
下一个成为第一响应者
[temp becomeFirstResponder];
判断是不是最后一个UITextField(下方tag = 102 最后一个响应者tag标记tag必须是102)
if (textField.tag == 102) {
是最后一个 直接回收键盘
[textField resignFirstResponder];
}
}
设置代理
field.delegate = self;