TextField相关基础用法

作者: ac41d8480d04 | 来源:发表于2015-09-18 11:30 被阅读1841次

    TextField在日常工程中使用广泛,基本上每个App都会用到,但对于初学者来说,定制起来可能会走很多弯路。例如基础属性,相关情况下的键盘模式,或者是和键盘的相对位置等等。

    我在日常使用中也走了不少弯路,最重要的是定制键盘样式和监听键盘高度等等,但是经过在网上收集一些资料和自己翻阅官方文档,最后还是找到了不少可行方法,以下是关于TextField的一些相关方法。我会另外再写一篇对于键盘的博客。


    相关文章:

    若干搭建UI常用的小控件(一)
    若干搭建UI常用的小控件(二)


    UITextField继承于UIControl,而UIControl继承于UIView,所以UITextField可以使用UIView的方法进行初始化。

    创建TextField

    UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(60, 100,200, 40)];   
    
    TextFiled背景色
    textField.backgroundColor = [UIColor whiteColor];
    
    设置背景图片
    textField.background = [UIImage imageNamed:@"xxx.PNG"];
    
    设置边框样式
    textField.borderStyle = UITextBorderStyleRoundedRect;//圆角矩形
    UITextBorderStyleNone              //没有边框
    UITextBorderStyleLine              //线状边框
    UITextBorderStyleBezel             //直角立体矩形(底座)
    UITextBorderStyleRoundedRect       //圆角矩形
    

    关于文字

    设置初始文字
    textField.text = @"初始文字";
    
    设置文字颜色
    textField.textColor = [UIColor blueColor];
    
    设置文字的对齐方式
    textField.textAlignment = NSTextAlignmentLeft;
    
    设置文字的垂直对齐方式
    textField.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;
    
    设置文字的字体
    textField.font = [UIFont systemFontOfSize:20];
    
    设置占位符
    textField.placeholder = @"占位符";
    
    设置密文显示
    textField.secureTextEntry = NO;
    
    设置clearButton模式
    textField.clearButtonMode = UITextFieldViewModeAlways;
    UITextFieldViewModeNever          //永不显示
    UITextFieldViewModeWhileEditing   //当编辑时
    UITextFieldViewModeUnlessEditing  //除了编辑时
    UITextFieldViewModeAlways         //永远显示
    
    设置左右视图的显示模式
    textField.leftViewMode = UITextFieldViewModeAlways;
    textField.rightViewMode = UITextFieldViewModeAlways;
    

    右视图设置后,会覆盖掉clearButton

    设置文字自适应宽度
    textField.adjustsFontSizeToFitWidth = YES;
    
    设置最小字体
    textField.minimumFontSize = 10;
    
    自动纠错
    textField.autocorrectionType = UITextAutocorrectionTypeNo;
    
    判断textField是否处于编辑模式
    BOOL ret = textField.isEditing;  
    
    设置进入编辑状态,立即清空文字
    textField.clearsOnBeginEditing = YES;
    

    代理方法

    TextField的协议是UIApplicationDelegate,至于怎么添加,大家都懂得。
    协议方法众多,我这里只介绍几个大家可能常用的。

    当textField将要开始被编辑,会委托代理调用这个方法
    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField//返回YES允许编辑,返回NO不许编辑
    
    当textField已经开始被编辑,会委托代理调用这个方法
    - (void)textFieldDidBeginEditing:(UITextField *)textField
    
    当textField将要结束被编辑,会委托代理调用这个方法
    - (BOOL)textFieldShouldEndEditing:(UITextField *)textField//返回YES允许结束,返回NO,不许结束
    
    当textField已经结束被编辑,会委托代理调用这个方法
    - (void)textFieldDidEndEditing:(UITextField *)textField
    
    当keyBoard上return键被点击,委托代理调用这个方法
    - (BOOL)textFieldShouldReturn:(UITextField *)textField//返回值YES,NO没区别,似乎是系统会获得这个返回值
    
    当textField中文字发生改变,调用这个方法
    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

    相关文章

      网友评论

      本文标题:TextField相关基础用法

      本文链接:https://www.haomeiwen.com/subject/bembcttx.html