UITextField各种使用方法

    在做项目使用textfield的时候,可能是比较常见的账号密码输入,有可能需要自定义左右按钮,有可能需要处理输入的各种情况,在使用使用具体的语法可能会不太记得,在这里我给大家总结下UITextField的常用语法,基本上已经覆盖全面,如果有什么要补充的可以给我留言,我及时修改.


UITextField各种使用方法_第1张图片
login


1.初始化textfield并设置位置及大小

    UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];

2.设置边框样式,只有设置了才会显示边框样式  

    text.borderStyle = UITextBorderStyleRoundedRect;

      typedef enum {

        UITextBorderStyleNone, (无样式)

        UITextBorderStyleLine,(线条)

        UITextBorderStyleBezel,(线框)

        UITextBorderStyleRoundedRect(圆角)  

      } UITextBorderStyle;

3.设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉  

       text.backgroundColor = [UIColor whiteColor];

4.设置背景

      text.background = [UIImage imageNamed:@"dd.png"];

5.设置不可用背景 

      text.disabledBackground = [UIImage imageNamed:@"cc.png"];

6.当输入框没有内容时,水印提示 提示内容为password

      text.placeholder = @"password";

7.设置输入框内容的字体样式和大小

      text.font = [UIFont fontWithName:@"Arial" size:20.0f];  //设置字体样式

      text.font = [[UIFont] fontWithSize: 15] //设置字体大小

      text.textColor = [UIColor redColor]; //设置字体颜色  

8.输入框中是否有个删除的 X 号,在什么时候显示,用于一次性删除输入框中的内容

      text.clearButtonMode = UITextFieldViewModeAlways;

      typedef enum {

            UITextFieldViewModeNever, //永不出现

            UITextFieldViewModeWhileEditing, //编辑时出现

            UITextFieldViewModeUnlessEditing,//除了编辑外都出现

            UITextFieldViewModeAlways //一直出现

      } UITextFieldViewMode;

9.输入框中一开始就有的文字

        text.text = @"一开始就在输入框的文字";

10.密文输入

        text.secureTextEntry = YES;

11.是否纠错

        text.autocorrectionType = UITextAutocorrectionTypeNo;

        typedef enum {

            UITextAutocorrectionTypeDefault,默认

            UITextAutocorrectionTypeNo,不自动纠错

            UITextAutocorrectionTypeYes,自动纠错

        } UITextAutocorrectionType;

12.再次编辑就清空之前内容

          text.clearsOnBeginEditing = YES; 

13.内容对齐方式

          text.textAlignment = UITextAlignmentLeft;

    //内容的垂直对齐方式UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment

          text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

14.自适应文本窗口大小.默认是保持原来大小,而让长文本滚动  

          textFied.adjustsFontSizeToFitWidth = YES;

          text.minimumFontSize = 20; //设置自动缩小显示的最小字体大小

15.设置键盘的样式

          text.keyboardType = UIKeyboardTypeNumberPad;

           typedef enum {

                UIKeyboardTypeDefault,默认键盘,支持所有字符

                UIKeyboardTypeASCIICapable,支持ASCII的默认键盘

                UIKeyboardTypeNumbersAndPunctuation,标准电话键盘,支持+*#字符

                UIKeyboardTypeURL,            URL键盘,支持.com按钮只支持URL字符

                UIKeyboardTypeNumberPad,数字键盘

                UIKeyboardTypePhonePad,电话键盘

                UIKeyboardTypeNamePhonePad,电话键盘,也支持输入人名

                UIKeyboardTypeEmailAddress,用于输入电子邮件地址的键盘

                UIKeyboardTypeDecimalPad,数字键盘有数字和小数点

                UIKeyboardTypeTwitter,优化的键盘,方便输入@、#字符

                UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, 

            } UIKeyboardType;

16.首字母是否大写

          text.autocapitalizationType = UITextAutocapitalizationTypeNone;

           typedef enum {

                UITextAutocapitalizationTypeNone,不自动大写

                UITextAutocapitalizationTypeWords,单词首字母大写

                UITextAutocapitalizationTypeSentences,句子的首字母大写

                UITextAutocapitalizationTypeAllCharacters,所有字母都大写

            } UITextAutocapitalizationType;

17.return键样式

          text.returnKeyType =UIReturnKeyDone;

          typedef enum {

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

                UIReturnKeyGo,标有Go的蓝色按钮

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

                UIReturnKeyJoin,标有Join的蓝色按钮

                UIReturnKeyNext,标有Next的蓝色按钮

                UIReturnKeyRoute,标有Route的蓝色按钮

                UIReturnKeySearch,标有Search的蓝色按钮

                UIReturnKeySend,标有Send的蓝色按钮

                UIReturnKeyYahoo,标有Yahoo的蓝色按钮

                UIReturnKeyYahoo,标有Yahoo的蓝色按钮

                UIReturnKeyEmergencyCall,紧急呼叫按钮

            } UIReturnKeyType;

18.键盘外观

           textView.keyboardAppearance = UIKeyboardAppearanceDefault;

           typedef enum {

                UIKeyboardAppearanceDefault,默认外观,浅灰色

                UIKeyboardAppearanceAlert,深灰石墨色

            } UIReturnKeyType;

19.设置代理 用于实现协议

          text.delegate = self;

20.把textfield加到视图中

          [self.view addSubview:text];

21.右侧添加自定义视图

       //最右侧加图片是以下代码   左侧类似

            UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];

            text.rightView=image;

            text.rightViewMode = UITextFieldViewModeAlways; //右侧视图什么时候出现 这个是必须的,否则永远不会出现

            typedef enum {

                    UITextFieldViewModeNever,

                    UITextFieldViewModeWhileEditing,

                    UITextFieldViewModeUnlessEditing,

                    UITextFieldViewModeAlways

            } UITextFieldViewMode;

22.收回键盘

           text. resignFirstResponder (常用)

23.重写绘制行为

        除了UITextField对象的风格选项,你还可以定制化UITextField对象,为他添加许多不同的重写方法,来改变文本字段的显示行为。这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围。以下方法都可以重写。

– textRectForBounds:  //重写来重置文字区域

– drawTextInRect:  //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.

– placeholderRectForBounds:  //重写来重置占位符区域

– drawPlaceholderInRect:  //重写改变绘制占位符属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.

– borderRectForBounds:  //重写来重置边缘区域

– editingRectForBounds:  //重写来重置编辑区域

– clearButtonRectForBounds:  //重写来重置clearButton位置,改变size可能导致button的图片失真

– leftViewRectForBounds:

– rightViewRectForBounds:

24.delegate

        //1.是否应该开始编辑 ,这里处理特殊情况下的不可编辑

是否应该开始编辑.png

        //2.开始编辑,这时候可以进行重新请求数据等操作

已经开始编辑.png

        //3.编辑过程,在这里可以进行输入内容限制输入,如限制字数 特殊字符等操作

编辑过程.png

        //4.是否可以点击return按钮,这里可进行例如字数和规则等不符合时不可点击等操作

是否可以点击.png

        //5.是否应该结束编辑,这个用的不多

是否应该结束编辑.png

        //6.已经结束编辑,这时可以把textfield值传递,因为这时候是最终的值,或者进行编辑结束的具体操作

已经结束编辑.png


    相信大家看完这篇文章后,对UITextField的使用都有了一个具体的了解,我总结的可能不够全面,也可能一些地方存在问题,欢迎大家留言纠正!

你可能感兴趣的:(UITextField各种使用方法)