UITextField
1.定义:继承自UIControl,他是在UILabel基础上,对了文本的编辑.可以允许用户输入和编辑文本
// UITextField的使用步骤
// 创建控件
UITextField *textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 100, 300, 50)];
// 给 textField 赋 tag 值,为了能通过父视图找到 textField
textField.tag = 100;
// 设置属性
// (1).设置背景
textField.backgroundColor=[UIColor yellowColor];
// (2).设置文本框提示文字
textField.placeholder=@"请输入金额";//输入占位符.一旦有内容输入就消失
// (3).设置文本
textField.text=@"520$";
// (4).设置文本颜色
textField.textColor=[UIColor redColor];
// (5).文本对齐方式
textField.textAlignment=NSTextAlignmentCenter;//居中 对齐方式 可以 cmd +左键 点进去看 选择自己想要的
// (6).设置文本框的样式
textField.borderStyle=UITextBorderStyleRoundedRect;
(7).设置文本框是否能被编辑(默认是YES,可以编辑)
textField.enabled=NO;
(8).当开始输入文本时,是否清空原文本框的内容(默认值是NO,)
textField.clearsOnBeginEditing=YES;
// 9)设置 return 的按键样式
textField .returnKeyType = UIReturnKeyGo;
// 10)设置弹出键盘的样式
textField.keyboardType = UIKeyboardTypeNumberPad;
//11) 设置输入文本框的文字 以密文的形式的显示
textField .secureTextEntry = YES;//默认值是 NO
// 13) 自定义键盘上方添加辅助视图 就是类似 第三方输入法的输入框 信息短暂存储的地方
UIView * accessView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 30)];
accessView .backgroundColor = [UIColor cyanColor];
textField .inputAccessoryView = accessView;
[accessView release];
// 14) 设置文本框清理模式
textField.clearButtonMode = UITextFieldViewModeWhileEditing;//当编辑的时候才显示 WhileEditing;
//15)设置 文本框的代理
// 针对某个类的代理(协议)的命名规则:类名+ delegate
// 当一个类的一个属性是遵循的某个协议的属性他的命名: delegate.
//delegate 的属性语义特性 要使用 assign ,
要在.h 里面 遵守协议
.h
@interface AppDelegate : UIResponder <UIApplicationDelegate,UITextFieldDelegate>
.m 里面就可以用了
textField.delegate = self;
方法外面还要写 textField.delegate 代理的方法
#pragma mark ----UITextFieldDelegate的代理方法----
1.这是点击 return 返回的方法 就是右下角的按键 也有人是 go 或者搜索
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
// 回收键盘
[textField resignFirstResponder];
return YES;
}
// 要循序代理(协议) 这个类必须是已知类 就是能看见. m的 因为要在遵循了代理的类的. m 中写实现方法
注: 还有一种不是代理 通过点击事件回收键盘
无返回值
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITextField *textField = (UITextField *) [self.window viewWithTag:100];
//回收键盘
[textField resignFirstResponder];
}