iOS UITextField 讲解 base

来源:互联网 发布:永久激活windows xp 编辑:程序博客网 时间:2024/06/06 16:38

一.基本属性设置

1.创建一个文本输入框

  UITextField*textField=[[UITextField  alloc]initWithFrame:CGRectMake(10, 30, 300, 30)];

2.设置边框样式
textField.borderStyle=UITextBorderStyleRoundedRect;//圆角

typedef enum{UITextBorderStyleNone,无边框

      UITextBorderStyleLine,有边框

UITextBorderStyleBezel,有边框和阴影

UITextBorderStyleRoundedRect圆角

       } UITextBorderStyle;

3.背景颜色是文本内容部分的颜色
textField.backgroundColor= [UIColorblueColor];

4.设置背景图片
textField.background=[UIImageimageNamed:@"Icon.png"];

5.提示文字
textField.placeholder=@"请输入单词";

6.设置和读取 文字内容
textField.text = @”我是文本框”;

(也可以编辑之后获取文本框内容)NSString * str = textField.text;

7.设置字体格式
[textFieldsetFont:[UIFontfontWithName:@"Arial"

size:30]];
NSLog(@"%@", [UIFontfamilyNames]);//查看字体集

8.密文输入
textField.secureTextEntry=YES;

9.键盘类型
textField.keyboardType=UIKeyboardTypeNumberPad;//数字

UIKeyboardTypeDefault,//当前键盘(默认)

UIKeyboardTypeASCIICapable,//字母输入键

UIKeyboardTypeNumbersAndPunctuation,//数字和符号

UIKeyboardTypeURL,URL键盘
UIKeyboardTypeNumberPad,数字键盘

UIKeyboardTypePhonePad,电话号码输入键盘

UIKeyboardTypeEmailAddress, //邮件地址输入键盘

} UIKeyboardType;

10.键盘风格textView.keyboardAppearance=UIKeyboardAppearanceDefault;

UIKeyboardAppearanceDefault, 默认外观,浅灰色

UIKeyboardAppearanceAlert, 深灰 石墨色

11.设置弹出视图(不弹键盘弹图片)
UIImageView* imageView = [[UIImageView

alloc]initWithImage:[UIImageimageNamed:@"Icon.png"]];

imageView.frame=CGRectMake(0,100,320,100);(跟位置和宽无关)

   textField.inputView = imageView;

12.设置左视图
UIView* leftview = [[UIView

alloc]initWithFrame:CGRectMake(0,0,100,100)];//只有宽度起到了作用

   textField.leftView = leftview;   leftview.backgroundColor = [UIColor purpleColor];

要设置左视图模式

 textField.leftViewMode = UITextFieldViewModeAlways;


13还可以设置右视图textField.rightView = rightView;

textField.rightViewMode = UITextFieldViewModeAlways;、、

这个右视图模式会影响清除按钮模式

14.设置清除按钮模式textField.clearButtonMode=UITextFieldViewModeAlways;//出现小叉子

typedef enum{UITextFieldViewModeNever,、、从不出现

UITextFieldViewModeWhileEditing,编辑时显示

UITextFieldViewModeUnlessEditing,不编辑时

UITextFieldViewModeAlways 总是显示

            } UITextFieldViewMode;/*******************************************************/

15.再次编辑时是否清空之前内容;默认NO;text2.clearsOnBeginEditing=YES;

16.编辑内容时垂直对齐方式text2.contentVerticalAlignment=

UIControlContentVerticalAlignmentCenter;//剧中显示、默认是top显示对齐

文字内容剧中显示

text2.textAlignment=UITextAlignmentCenter;17设置滚动

text2.font= [UIFontsystemFontOfSize:30];//可以设置文字大小

text2.adjustsFontSizeToFitWidth=YES;//默认是NO YES当充满边框时,文字会缩小,当小到⼀一定程度时仍然会滚动;自适应宽度;

//设置滚动时最小字号(与滚动相关)(前提:要比设置的字体小,否则没有意义)

text2.minimumFontSize=20;(没有设置这⼀一项文字也会缩小和滚动)

18.设置return

   text2.returnKeyType = UIReturnKeyGoogle;searchtypedef enum {

UIReturnKeyDefault,默认 灰色按钮,标有Return

UIReturnKeyGo,标有Go的蓝色按钮

UIReturnKeyGoogle,标有Google的蓝色按钮,用语搜索

UIReturnKeyJoin,标有Join的蓝色按钮

UIReturnKeyNext,标有Next的蓝色按钮

UIReturnKeyRoute,标有Route的蓝色按钮

UIReturnKeySearch,标有Search的蓝色按钮

UIReturnKeySend,标有Send的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyYahoo,标有Yahoo的蓝色按钮

UIReturnKeyEmergencyCall,紧急呼叫按钮

   } UIReturnKeyType;

19.首字母是否大写
text2.autocapitalizationType=

UITextAutocapitalizationTypeAllCharacters;//所有字母大写

typedef enum {
UITextAutocapitalizationTypeNone,
不自动大写

UITextAutocapitalizationTypeWords,单词首字母大写

UITextAutocapitalizationTypeSentences,句子的首字母大写

UITextAutocapitalizationTypeAllCharacters,所有字母都大

二 关于文本编辑框设置代理

a.//是否可以进入编辑模式(是否可进入输入状态)

- (BOOL)textFieldShouldBeginEditing:(UITextField*)textField{
} UITextAutocapitalizationType;/************************************/

return YES;//NO进入不了编辑模式}

b.//进入编辑模式
- (void)textFieldDidBeginEditing:(UITextField*)textField{

NSLog(@"进入编辑模式时调用");}

c.//是否退出编辑模式(是否可以结束输入状态)
- (BOOL)textFieldShouldEndEditing:(UITextField

*)textField{
return YES;//NO退出不了编辑模式

}

d.//退出编辑模式//结束输入状态后调用
- (void)textFieldDidEndEditing:(UITextField*)textField{

NSLog(@"退出编辑模式");}

e.//是否可以点击清除按钮
- (BOOL)textFieldShouldClear:(UITextField*)textField{

//textField.text = @"已经清除";return NO;//NO不清除

}

f. //点击键盘上Return按钮时候调用
- (BOOL)textFieldShouldReturn:(UITextField*)textField{

//官方 取消第⼀一响应者(就是退出编辑模式收键盘)

   [textField resignFirstResponder];   return YES;   }

g.//当输入任何字符时,代理调用该方法

-(BOOL)textField:(UITextField *)fieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString *)string

//当输入任何字符时,代理调用该方法,如果返回YES则这次输入可以成功,如果返回NO,不能输入成功
//range表示光标位置,只有location,length == 0;//string表示这次输入的字符串。

{

NSLog(@"range = %@ string
= %@"
,NSStringFromRange(range),string);

return str.length < 10;//textField.text超过了10个字符,返回NO,不让输入成功。(最多输入10个)

//textField.text输入后不到10个字符,返回YES,使输入成功。return YES;

0 0