源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

iOS App开发中UITextField组件的常用属性小结

  • 时间:2021-11-23 02:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:iOS App开发中UITextField组件的常用属性小结
[b]重点属性[/b] 在 Xcode 中使用 IB 给视图拖上去一个文本框后,选中文本框,可以在Attribute Inspector中设置其各种属性。 Attribute Inspector 分为三部分,分别是 Text Field、Control 和 View 部分。我们重点看看 Text Field 部分。 Text Field 部分有以下选项: 1、Text :设置文本框的默认文本。 2、Placeholder : 可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。当这个文本框中输入了数据时,用于提示的灰色的字将会自动消失。 3、Background : 4、Disabled : 若选中此项,用户将不能更改文本框内容。 5、接下来是三个按钮,用来设置对齐方式。 6、Border Style : 选择边界风格。 7、Clear Button : 这是一个下拉菜单,你可以选择清除按钮什么时候出现,所谓清除按钮就是出一个现在文本框右边的小 X ,你可以有以下选择:     7.1 Never appears : 从不出现     7.2 Appears while editing : 编辑时出现     7.3 Appears unless editing :     7.4 Is always visible : 总是可见 8、Clear when editing begins : 若选中此项,则当开始编辑这个文本框时,文本框中之前的内容会被清除掉。比如,你现在这个文本框 A 中输入了 "What" ,之后去编辑文本框 B,若再回来编辑文本框 A ,则其中的 "What" 会被立即清除。 9、Text Color : 设置文本框中文本的颜色。 10、Font : 设置文本的字体与字号。 11、Min Font Size : 设置文本框可以显示的最小字体(不过我感觉没什么用) 12、Adjust To Fit : 指定当文本框尺寸减小时,文本框中的文本是否也要缩小。选择它,可以使得全部文本都可见,即使文本很长。但是这个选项要跟 Min Font Size 配合使用,文本再缩小,也不会小于设定的 Min Font Size 。 接下来的部分用于设置键盘如何显示。 13、Captitalization : 设置大写。下拉菜单中有四个选项:     13.1 None : 不设置大写     13.2 Words : 每个单词首字母大写,这里的单词指的是以空格分开的字符串     13.3 Sentances : 每个句子的第一个字母大写,这里的句子是以句号加空格分开的字符串     13.4 All Characters : 所以字母大写 14、Correction : 检查拼写,默认是 YES 。 15、Keyboard : 选择键盘类型,比如全数字、字母和数字等。 16、Appearance: 17、Return Key : 选择返回键,可以选择 Search 、 Return 、 Done 等。 18、Auto-enable Return Key : 如选择此项,则只有至少在文本框输入一个字符后键盘的返回键才有效。 19、Secure : 当你的文本框用作密码输入框时,可以选择这个选项,此时,字符显示为星号。 [b]技巧[/b] 下面来说两个小技巧: [b]一、UITextField隐藏键盘[/b] 1.点击键盘的return来隐藏键盘 这个方法需要在相应的.h文件文件中实现UITextFieldDelegate协议。并在.m文件中添加如下方法
[u]复制代码[/u] 代码如下:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {     [textField resignFirstResponder];     return YES; }
2.点击界面空白处来隐藏键盘 这个方法的实现主要是给当前的view增加点击事件,并未点击事件增加相应的处理方法,此处是为了隐藏键盘,所以我们可以在点击事件对应的方法中让UITextField放弃第一响应者。
[u]复制代码[/u] 代码如下:
- (void)dismissKeyboard {     NSArray *subViews = [self.view subviews];     for (id inputText in subViews) {         if ([inputText isKindOfClass:[UITextField class]]) {             if ([inputText isFirstResponder]) {                 [inputText resignFirstResponder];             }         }     } }
为当前的view增加点击事件
[u]复制代码[/u] 代码如下:
UITapGestureRecognizer *dismissKeyboardTap = [[UITapGestureRecognizer alloc]                                                initWithTarget:self                                                 action:@selector(dismissKeyboard)]; [self.view addGestureRecognizer: dismissKeyboardTap];
[b]二、为内容增加校验 [/b]
[u]复制代码[/u] 代码如下:
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {     switch (textField.tag) {         case 100://name         {             NSLog(@"this is nameField");             //添加校验name的代码             break;         }         case 101://phone         {             NSLog(@"this is phoneField");             //添加校验phone的代码             break;         }         case 102://email         {             NSLog(@"this is emailField");             //添加校验email的代码             break;         }                default:             break;     }     return YES; }
 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部