创建
UITextField* myTextField = [[UITextField alloc]initWithFrame:CGRectMake(50, 100, 200, 50)];
设置委托
myTextField.delegate = self;//委托类需要遵守UITextFieldDelegate协议
设置属性
UIControl属性对UITextField完全可以用,下面的都是UITextFiels扩展的属性:
myTextField.textAlignment = UITextAlignmentLeft;//默认就是左对齐,这个是UITextField扩展属性
myTextField.borderStyle = UITextBorderStyleBezel;//默认是没有边框,如果使用了自定义的背景图片边框会被忽略掉
myTextField.placeholder = @"请在此输入账号";//为空白文本字段绘制一个灰色字符串作为占位符
myTextField.clearsOnBeginEditing = YES;//设置为YES当用点触文本字段时,字段内容会被清除
myTextField.adjustsFontSizeToFitWidth = YES;//设置为YES时文本会自动缩小以适应文本窗口大小。默认是保持原来大小,而让长文本滚动
//myTextField.background = [UIImage imageNamed:@"registBtn"];//可以接受UIImage对象,此项设置则边框失效。
myTextField.clearButtonMode = UITextFieldViewModeUnlessEditing;//右边显示的'X'清楚按钮
//myTextField.LeftView =
//myTextField.leftViewMode =
//myTextField.RightView =
//myTextField.rightViewMode =
这些属性令你可以将 UIView 的派生类附着于为本字段的左方或右方。人们通常会将 UIButton 对象,比如放大镜或者书签按钮附着与文本字段上。每个附着视图都会有一个相应的模式,设置 clearButtonmode 属性的那些值,同样可以设置这个模式。
显示
[self.view addSubview:myTextField];
重写绘制行为
除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。如果你创见了一个自定义的UITextField类,你可以重写这些方法,这样就可以改变一个或多个边界。一定不要直接调用 fan广发;它们都是被iPhone运行库调用的回调函数下面举个例子:
- (CGRect)clearButtonForBounds:(CGRect)bounds
{
return CGRectMake(bounds.origin.x +bounds.size.width-50,
bounds.origin.y+bounds.size.height-20, 16, 16);
}
下列方法在创建一个UITextField的子类时可以重写:
borderRectForBounds