温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

UITextField 详解

发布时间:2020-09-03 13:41:02 来源:网络 阅读:593 作者:轩是Me 栏目:移动开发

UITextField讲解

一.基本属性设置

1. 创建一个文本输入框

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

2. 设置边框样式

textField.borderStyle = UITextBorderStyleRoundedRect;//圆角

typedefenum {

   UITextBorderStyleNone,无边框

   UITextBorderStyleLine,有边框

   UITextBorderStyleBezel,有边框和阴影

   UITextBorderStyleRoundedRect圆角

} UITextBorderStyle;

3.背景颜色是文本内容部分的颜色

textField.backgroundColor = [UIColorblueColor];

4. 设置背景图片

textField.background=[UIImagep_w_picpathNamed:@"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 * p_w_picpathView = [[UIImageViewalloc]initWithImage:[UIImagep_w_picpathNamed:@"Icon.png"]];

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

textField.inputView = p_w_picpathView;

12.设置左视图

UIView * leftview = [[UIViewalloc]initWithFrame:CGRectMake(0, 0, 100, 100   )];//只有宽度起到了作用

   textField.leftView = leftview;

   leftview.backgroundColor = [UIColorpurpleColor];

要设置左视图模式

textField.leftViewMode = UITextFieldViewModeAlways;

13 还可以设置右视图

textField.rightView = rightView;

textField.rightViewMode = UITextFieldViewModeAlways;、、这个右视图模式会影响清除按钮模式

14. 设置清除按钮模式

   textField.clearButtonMode = UITextFieldViewModeAlways;//出现小叉子

typedefenum {

   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;search

typedef 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, 所有字母都大写

} UITextAutocapitalizationType;

/************************************/

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

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

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

returnYES;//NO进入不了编辑模式

}

b.//进入编辑模式

- (void)textFieldDidBeginEditing:(UITextField *)textField{

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

}

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

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{

returnYES;//NO 退出不了编辑模式

}

d.//退出编辑模式// 结束输入状态后调用

- (void)textFieldDidEndEditing:(UITextField *)textField{

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

}

e.//是否可以点击清除按钮

-  (BOOL)textFieldShouldClear:(UITextField *)textField{

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

returnNO;//NO不清除

}

f. // 点击键盘上Return按钮时候调用

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

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

   [textField resignFirstResponder];

returnYES;

}

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

-(BOOL)textField:(UITextField *)field shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

//当输入任何字符时,代理调用该方法,如果返回YES则这次输入可以成功,如果返回NO,不能输入成功

//range表示光标位置,只有locationlength == 0

//string表示这次输入的字符串。

{

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

return str.length < 10;

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

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

returnYES;

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI