UITextField设置
UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];text.borderStyle = UITextBorderStyleRoundedRect;typedef enum {UITextBorderStyleNone, UITextBorderStyleLine,UITextBorderStyleBezel,UITextBorderStyleRoundedRect } UITextBorderStyle;text.backgroundColor = [UIColor whiteColor];text.background = [UIImage imageNamed:@"dd.png"];text.disabledBackground = [UIImage imageNamed:@"cc.png"];text.placeholder = @"password";text.font = [UIFont fontWithName:@"Arial" size:20.0f];text.textColor = [UIColor redColor];text.clearButtonMode = UITextFieldViewModeAlways;typedef enum {UITextFieldViewModeNever, 重不出现UITextFieldViewModeWhileEditing, 编辑时出现UITextFieldViewModeUnlessEditing, 除了编辑外都出现UITextFieldViewModeAlways 一直出现
} UITextFieldViewMode;text.text = @"一开始就在输入框的文字";text.secureTextEntry = YES;text.autocorrectionType = UITextAutocorrectionTypeNo;typedef enum {UITextAutocorrectionTypeDefault, 默认UITextAutocorrectionTypeNo, 不自动纠错UITextAutocorrectionTypeYes, 自动纠错
} UITextAutocorrectionType;text.clearsOnBeginEditing = YES; text.textAlignment = UITextAlignmentLeft;text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;textFied.adjustsFontSizeToFitWidth = YES;text.minimumFontSize = 20;text.keyboardType = UIKeyboardTypeNumberPad;typedef enum {UIKeyboardTypeDefault, 默认键盘,支持所有字符 UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符UIKeyboardTypeURL, URL键盘,支持.com按钮 只支持URL字符
UIKeyboardTypeNumberPad, 数字键盘
UIKeyboardTypePhonePad, 电话键盘UIKeyboardTypeNamePhonePad, 电话键盘,也支持输入人名
UIKeyboardTypeEmailAddress, 用于输入电子 邮件地址的键盘
UIKeyboardTypeDecimalPad, 数字键盘 有数字和小数点UIKeyboardTypeTwitter, 优化的键盘,方便输入@、#字符UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
} UIKeyboardType;text.autocapitalizationType = UITextAutocapitalizationTypeNone;typedef enum {UITextAutocapitalizationTypeNone, 不自动大写UITextAutocapitalizationTypeWords, 单词首字母大写UITextAutocapitalizationTypeSentences, 句子的首字母大写UITextAutocapitalizationTypeAllCharacters, 所有字母都大写
} UITextAutocapitalizationType;text.returnKeyType =UIReturnKeyDone;typedef enum {UIReturnKeyDefault, 默认 灰色按钮,标有ReturnUIReturnKeyGo, 标有Go的蓝色按钮UIReturnKeyGoogle,
标有Google的蓝色按钮,用语搜索UIReturnKeyJoin,
标有Join的蓝色按钮UIReturnKeyNext,
标有Next的蓝色按钮UIReturnKeyRoute,
标有Route的蓝色按钮UIReturnKeySearch,
标有Search的蓝色按钮UIReturnKeySend,
标有Send的蓝色按钮UIReturnKeyYahoo,
标有Yahoo的蓝色按钮UIReturnKeyYahoo,
标有Yahoo的蓝色按钮UIReturnKeyEmergencyCall, 紧急呼叫按钮
} UIReturnKeyType;
textView.keyboardAppearance=UIKeyboardAppearanceDefault;
typedef enum {
UIKeyboardAppearanceDefault, 默认外观,浅灰色
UIKeyboardAppearanceAlert, 深灰 石墨色} UIReturnKeyType;text.delegate = self;[self.window addSubview:text];UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];text.rightView=image;text.rightViewMode = UITextFieldViewModeAlways; typedef enum {UITextFieldViewModeNever,UITextFieldViewModeWhileEditing,UITextFieldViewModeUnlessEditing,UITextFieldViewModeAlways
} UITextFieldViewMode;类要采用UITextFieldDelegate协议text.delegate = self; 声明text的代理是我,我会去实现把键盘往下收的方法 这个方法在UITextFieldDelegate里所以我们要采用UITextFieldDelegate这个协议- (BOOL)textFieldShouldReturn:(UITextField *)textField
{[text resignFirstResponder]; return YES;
}重写绘制行为
除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。– textRectForBounds:
– drawTextInRect:
– placeholderRectForBounds:
– drawPlaceholderInRect:
– borderRectForBounds:
– editingRectForBounds:
– clearButtonRectForBounds:
– leftViewRectForBounds:
– rightViewRectForBounds:委托方法- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ return YES;
} - (void)textFieldDidBeginEditing:(UITextField *)textField{
} - (BOOL)textFieldShouldEndEditing:(UITextField *)textField{ return NO;
} - (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
return YES;
} - (BOOL)textFieldShouldClear:(UITextField *)textField{
return YES;
} -(BOOL)textFieldShouldReturn:(UITextField *)textField{
return YES;
}