当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS App开发中UITextField组件的常用属性小结

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

国模芭芭拉第四季,讨债女被钩机砸死,汉臣氏

重点属性

在 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 : 当你的文本框用作密码输入框时,可以选择这个选项,此时,字符显示为星号。

技巧

下面来说两个小技巧:
一、uitextfield隐藏键盘

1.点击键盘的return来隐藏键盘

这个方法需要在相应的.h文件文件中实现uitextfielddelegate协议。并在.m文件中添加如下方法

复制代码 代码如下:

- (bool)textfieldshouldreturn:(uitextfield *)textfield
{
    [textfield resignfirstresponder];
    return yes;
}

2.点击界面空白处来隐藏键盘

这个方法的实现主要是给当前的view增加点击事件,并未点击事件增加相应的处理方法,此处是为了隐藏键盘,所以我们可以在点击事件对应的方法中让uitextfield放弃第一响应者。

复制代码 代码如下:

- (void)dismisskeyboard
{
    nsarray *subviews = [self.view subviews];
    for (id inputtext in subviews) {
        if ([inputtext iskindofclass:[uitextfield class]]) {
            if ([inputtext isfirstresponder]) {
                [inputtext resignfirstresponder];
            }
        }
    }
}

为当前的view增加点击事件
复制代码 代码如下:

uitapgesturerecognizer *dismisskeyboardtap = [[uitapgesturerecognizer alloc]                                                initwithtarget:self                                                 action:@selector(dismisskeyboard)];
[self.view addgesturerecognizer: dismisskeyboardtap];

二、为内容增加校验

复制代码 代码如下:

- (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;
}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网