【 UITextField】- 文本框
来源:互联网 发布:sql语句美化小工具 编辑:程序博客网 时间:2024/06/08 04:57
一、初始化并设置位置及大小
UITextField*text = [[UITextFieldalloc]initWithFrame:CGRectMake(20,20,130,30)];
[self.viewaddSubview:text];
二、UITextField 的常用属性
(1)设置样式
1、borderStyle - 设置边框样式
text.borderStyle=UITextBorderStyleRoundedRect;
- UITextBorderStyleNone - 无边框
- UITextBorderStyleLine - 有边框,直线
- UITextBorderStyleBezel - 有边框和阴影(上边框和左边框加重)
- UITextBorderStyleRoundedRect - 圆角
2、 backgroundColor - 设置输入框的背景颜色
text.backgroundColor= [UIColorwhiteColor];
3、cornerRadius - 设置圆角
field.layer.cornerRadius=5;
field.layer.masksToBounds=YES;
(2)设置图片
1、background - 设置背景图片
text.background= [UIImageimageNamed:@"11.png"];
- 注意:当 UITextBorderStyle 的值为 UITextBorderStyleRoundedRect 时,无法设置
- 跟边框样式有冲突
2、disabledBackground - 设置在不可用的状态下的背景图片
text.enabled=NO;
text.disabledBackground= [UIImageimageNamed:@"cc.png"];
注意:如果 background 的值没有设置,则会让 disableBackground 的值失效
3、rightView / leftView - 设置最右侧/左侧加图片
最右侧加图片的代码:(左侧类似)
UIImageView*image=[[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"right.png"]];
text.rightView=image;
4、rightViewMode / leftViewMode - 设置图片的显示类型
最右侧图片显示类型的代码:(左侧类似)
text.rightViewMode=UITextFieldViewModeAlways;
UITextFieldViewModeNever -
UITextFieldViewModeWhileEditing - 编辑模式
UITextFieldViewModeUnlessEditing - 非编辑模式
UITextFieldViewModeAlways -
(3)设置文字
1、text - 设置输入框一开始就有的文字
2、placeholder - 默认值
text.placeholder=@"输入密码";
- 可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。当这个文本框中输入了数据时,用于提示的灰色的字将会自动消失。
3、font - 设置输入字体
text.font= [UIFontfontWithName:@"Arial"size:20.0f];
4、textColor - 设置字体颜色
text.textColor= [UIColorredColor];
5、placeholder - 设置输入框内默认的文字
text.placeholder=@"password";
- 当输入框没有内容时,水印提示提示内容为password
6、textAlignment - 设置输入框内内容的对齐方式
text.textAlignment=NSTextAlignmentRight;
- NSTextAlignmentLeft - 左对齐,默认
- NSTextAlignmentCenter - 居中对齐
- NSTextAlignmentRight - 右对齐
- NSTextAlignmentJustified - 在一个段落的最后一行自然对齐
- NSTextAlignmentNatural - 默认对齐方式
7、contentVerticalAlignment - 设置内容的垂直对齐方式
text.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
- UIControlContentVerticalAlignmentCenter - 居中对齐
- UIControlContentVerticalAlignmentTop - 顶部对齐
- UIControlContentVerticalAlignmentBottom - 底部对齐
- UIControlContentVerticalAlignmentFill - 填充
8、contentHorizontalAlignment - 水平对齐方式
UIControlContentHorizontalAlignmentCenter - 居中
UIControlContentHorizontalAlignmentLeft - 顶部
UIControlContentHorizontalAlignmentRight 底部
UIControlContentHorizontalAlignmentFill - 填充
9、secureTextEntry - 每输入一个字符就变成点,用于密码输入
text.secureTextEntry=YES;
10、autocorrectionType - 是否纠错
text.autocorrectionType=UITextAutocorrectionTypeNo;
- UITextAutocorrectionTypeDefault - 默认
- UITextAutocorrectionTypeNo - 不自动纠错
- UITextAutocorrectionTypeYes - 自动纠错
11、clearsOnBeginEditing - 设置再次编辑是否清空
text.clearsOnBeginEditing=YES;
12、minimumFontSize - 设置自动缩小显示的最小字体大小
text.minimumFontSize=20;
13、adjustsFontSizeToFitWidth - 自适应文本窗口大小
text.adjustsFontSizeToFitWidth=YES;
- 设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动
14、autocapitalizationType - 首字母是否大写
text.autocapitalizationType=UITextAutocapitalizationTypeNone;
UITextAutocapitalizationTypeNone - 不自动大写
UITextAutocapitalizationTypeWords - 单词首字母大写
UITextAutocapitalizationTypeSentences - 句子的首字母大写
UITextAutocapitalizationTypeAllCharacters - 所有字母都大写
15、contentVerticalAlignment - 字的摆设方式
text.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
16、Disabled - 若选中此项,用户将不能更改文本框内容
(4)clearButtonMode - 设置一个清空按钮
text.clearButtonMode=UITextFieldViewModeAlways;
- 通过设置 clearButtonMode 可以指定是否以及何时显示清除按钮
- 常见于密码输入错误,重新输入时会清空输入框
- UITextFieldViewModeNever - 从不显示清空按钮
- UITextFieldViewModeWhileEditing - 不为空,且在编辑状态时(即获得焦点)显示清空按钮
- UITextFieldViewModeUnlessEditing - 除了编辑状态时,都显示清空按钮
- UITextFieldViewModeAlways - 不为空,一直都显示清空按钮
(5)设置键盘
1、keyboardType - 设置键盘样式
text.keyboardType=UIKeyboardTypeNumberPad;
- UIKeyboardTypeDefault - 默认键盘,支持所有字符
- UIKeyboardTypeASCIICapable - 支持ASCII的默认键盘
- UIKeyboardTypeNumbersAndPunctuation - 标准电话键盘,支持+*#字符
- UIKeyboardTypeURL - URL键盘,支持.com按钮只支持URL字符
- UIKeyboardTypeNumberPad - 数字键盘
- UIKeyboardTypePhonePad - 电话键盘
- UIKeyboardTypeNamePhonePad - 电话键盘,也支持输入人名
- UIKeyboardTypeEmailAddress - 用于输入电子邮件地址的键盘
- UIKeyboardTypeDecimalPad - 数字键盘有数字和小数点
- UIKeyboardTypeTwitter - 优化的键盘,方便输入@、#字符
- UIKeyboardTypeAlphabet - UIKeyboardTypeASCIICapable,
2、returnKeyType - 返回键的样式
text.returnKeyType=UIReturnKeyDone;
- UIReturnKeyDefault - 默认灰色按钮,标有Return
- UIReturnKeyGo - 标有Go的蓝色按钮
- UIReturnKeyGoogle - 标有Google的蓝色按钮,用于搜索
- UIReturnKeyJoin - 标有Join的蓝色按钮
- UIReturnKeyNext - 标有Next的蓝色按钮
- UIReturnKeyRoute - 标有Route的蓝色按钮
- UIReturnKeySearch - 标有Search的蓝色按钮
- UIReturnKeySend - 标有Send的蓝色按钮
- UIReturnKeyYahoo - 标有Yahoo的蓝色按钮
- UIReturnKeyDone - 标有Done的蓝色按钮
- UIReturnKeyEmergencyCall - 紧急呼叫按钮
3、keyboardAppearance - 键盘外观
text.keyboardAppearance=UIKeyboardAppearanceDefault;
- UIKeyboardAppearanceDefault - 默认外观,浅灰色
- UIKeyboardAppearanceAlert - 深灰石墨色
4、键盘是否隐藏
显示
[textbecomeFirstResponder];
隐藏
[text resignFirstResponder];
5、inputView - 设置一个UIView类型的自定义键盘
6、inputAccessoryView - 设置一个键盘的自定义工具条
7、键盘类型
- UIKeyboardTypeDefault 默认键盘
- UIKeyboardTypeASCIICapable 显示ASCII码值得键盘
- UIKeyboardTypeNumbersAndPunctuation 显示数字和标点符号得键盘
- UIKeyboardTypeURL 显示带有 . / .com URL常用得符号得键盘
- UIKeyboardTypeNumberPad 显示0到9得数字键盘 不支持自动大写
- UIKeyboardTypePhonePad 显示带有0到9和“*”,“#”得键盘 不支持自动大写
- UIKeyboardTypeNamePhonePad 显示一个支持输入一个联系人名字或者号码得键盘 不支持自动大写
- UIKeyboardTypeEmailAddress 显示一个支持输入Email地址符号得键盘 “@”
- UIKeyboardTypeDecimalPad 显示0到9 和 “."得键盘
- UIKeyboardTypeAlphabet 显示一个字母键盘
(6)设置代理
text.delegate=self;
- 设置代理,用于实现协议<UITextFieldDelegate>
对UITextField的操作:
@protocolUITextViewDelegate <NSObject, UIScrollViewDelegate>
@optional
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;
- (BOOL)textViewShouldEndEditing:(UITextView *)textView;
- (void)textViewDidBeginEditing:(UITextView *)textView;
- (void)textViewDidEndEditing:(UITextView *)textView;
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
- (void)textViewDidChange:(UITextView *)textView;
- (BOOL)textViewShouldEndEditing:(UITextView *)textView;
- (void)textViewDidBeginEditing:(UITextView *)textView;
- (void)textViewDidEndEditing:(UITextView *)textView;
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
- (void)textViewDidChange:(UITextView *)textView;
- (void)textViewDidChangeSelection:(UITextView *)textView;
@end
三、UITextField 的方法
(1)、UITextField 的委托方法
- 主要是用于键盘的输入处理
- (BOOL)textFieldShouldBeginEditing:(UITextField*)textField{
//返回一个BOOL值,指定是否循序文本字段开始编辑
return YES;
//返回一个BOOL值,指定是否循序文本字段开始编辑
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField*)textField{
//开始编辑时触发,文本字段将成为first responder
//开始编辑时触发,文本字段将成为first responder
}
- (BOOL)textFieldShouldEndEditing:(UITextField*)textField{
//返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder
//要想在用户结束编辑时阻止文本字段消失,可以返回NO
//这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息
return NO;
//返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder
//要想在用户结束编辑时阻止文本字段消失,可以返回NO
//这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息
return NO;
}
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string{
//当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。
//这对于想要加入撤销选项的应用程序特别有用
//可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。
//要防止文字被改变可以返回NO
//这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中
return YES;
//当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。
//这对于想要加入撤销选项的应用程序特别有用
//可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。
//要防止文字被改变可以返回NO
//这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中
return YES;
}
- (BOOL)textFieldShouldReturn:(UITextField*)textField
{
{
[textField resignFirstResponder];
//返回一个BOOL值,指明是否允许在按下回车键时结束编辑
//主要是[receiver resignFirstResponder]在哪调用就能把receiver对应的键盘往下收
return YES;
return YES;
}
- (BOOL)textFieldShouldClear:(UITextField*)textField
{
//返回一个BOOL值指明是否允许根据用户请求清除内容
//可以设置在特定条件下才允许清除内容
return YES;
{
//返回一个BOOL值指明是否允许根据用户请求清除内容
//可以设置在特定条件下才允许清除内容
return YES;
}
四、UITextField 的支持事件
(1)UITextField类特有的事件
【通知】
UITextField派生自UIControl,所以UIControl类中的通知系统在文本字段中也可以使用。除了UIControl类的标准事件,你还可以使用下列UITextField类特有的事件
- UIKIT_EXTERNNSString*const UITextFieldTextDidBeginEditingNotification;
- UIKIT_EXTERNNSString*constUITextFieldTextDidEndEditingNotification;
- UIKIT_EXTERN NSString *constUITextFieldTextDidChangeNotification;
(2)当文本字段退出编辑模式时触发。通知的object属性存储了最终文本。因为文本字段要使用键盘输入文字,所以下面这些事件发生时,也会发送动作通知
- UIKeyboardWillShowNotification //键盘显示之前发送
- UIKeyboardDidShowNotification //键盘显示之后发送
- UIKeyboardWillHideNotification //键盘隐藏之前发送
- UIKeyboardDidHideNotification //键盘隐藏之后发送
0 0
- 文本框(UITextField)
- UITextField - 文本框
- 【 UITextField】- 文本框
- UITextField文本框详解
- IOS之UITextField文本框输入
- 文本框->UITextField 类的使用
- iOS——文本框(UITextField)
- UITextField控件 文本框和视图控制器
- UITextField文本框卡控:只能输入数字
- iOS文本框 UITextField 文本框内设置不能输入空格
- UITextField文本框显示及对键盘的控制
- UITextView、UITextField监听文本框中内容的变化
- 单行文本框和多行文本框UiTextfield UiTextView
- iOS 点击键盘return按钮 文本框UiTextField 自动换行
- 点击 UITextField 清除按钮,文本框中内容清除
- iOS---UITextField代理方法解决键盘遮挡文本框
- iOS - UITextView、UITextField监听文本框中内容的变化
- UITextField
- 最长上升子序列n log n
- SIGCHLD信号处理
- canvas
- 使用python读取大文件
- 转方阵
- 【 UITextField】- 文本框
- 二叉树遍历方式的转化(递归写法)
- PYTHON学习之路一:WEB开发
- python中range()函数的用法--转载
- [译]MVC or MVP Pattern – Whats the difference?
- 记一个JSON解析,客户端,服务端
- Mac版虚拟机怎么安装win7系统(详细教程)
- Ubuntu r8168模块编译出错问题的解决办法
- 以Java后端为主,同时能够胜任前端、后端、测试、运维、DBA岗位