zoukankan      html  css  js  c++  java
  • UI控件之UITextField

    UITextField:文本框:用来输入一行文本,父类是UIControl

    UITextField *field1=[[UITextField alloc]initWithFrame:CGRectMake(10, 30, 200, 40)];

    设置边框样式,如不设置,没有效果

    field1.borderStyle=UITextBorderStyleRoundedRect;

    field1.backgroundColor=[UIColor yellowColor];

    设置文本框里的默认内容

    field1.text=@"username:";

    设置提示内容(用户编辑时不存在)

    field1.placeholder=@"name:";

    设置是否是密码框

    field1.secureTextEntry=YES;

    设置键盘类型(数字键盘、email键盘……)

    field1.keyboardType=UIKeyboardTypeNumberPad;

    设置键盘的外观样式

    field1.keyboardAppearance=UIKeyboardAppearanceDark;

    设置键盘上的‘return’键

    field1.returnKeyType=UIReturnKeySearch;

    设置大写字母的情况(单词:输入每个单词的首字母时自动调整成大写字母样式)

    field1.autocapitalizationType=UITextAutocapitalizationTypeWords;

    设置输入视图(自定义键盘,只可以设置view的高度)

    UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)];

    imageView.image=[UIImage imageNamed:@"0.png"];

    field1.inputView=imageView;

    [self.window addSubview:field1];

    设置textField左侧的视图

    UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 50, 40)];

    label.text=@"user:";

    field1.leftView=label;

    设置左侧视图的显示模式(什么时候显示)

    field1.leftViewMode=UITextFieldViewModeAlways;

    设置文本框为圆角

    UITextField *field2=[[UITextField alloc]initWithFrame:CGRectMake(20, 100, 200, 100)];

    field2.borderStyle=UITextBorderStyleRoundedRect;

    [self.window addSubview:field2];

    设置什么时候显示清空文本

    field2.clearButtonMode=UITextFieldViewModeAlways;

    field2.text=@"field2";

    设置是否在开始编辑时清空原来的内容

    field2.clearsOnBeginEditing=YES;

    设置文本内容在垂直方向上的对齐方式

    field2.contentVerticalAlignment=UIControlContentVerticalAlignmentBottom;

    设置文本内容在水平方向上的对齐方式

    field2.textAlignment=NSTextAlignmentCenter;

    field2.font=[UIFont systemFontOfSize:24];

    设置滚动过程中是否自动调整字号(变小)

    field2.adjustsFontSizeToFitWidth=YES;

    设置字体的最小字号(可能会导致上面的属性不能生效)

    field2.minimumFontSize=25;

    让textField成为第一响应者

    [field2 becomeFirstResponder];

    用户编辑结束退出时事件(用户单击'return‘键)

    [field2 addTarget:self action:@selector(hideKey:) forControlEvents:UIControlEventEditingDidEndOnExit];

    当用户编辑内容时的事件

    [field2 addTarget:self action:@selector(changeText:) forControlEvents:UIControlEventEditingChanged];

    UITextField的协议方法(遵从UITextFieldDelegate)

    设置是否允许用户开始编辑,默认是yes

    -(BOOL)textFieldShouldBeginEditing:(UITextField *)textField

    {

        return YES;

    }

    当用户开始编辑时调用此协议方法

    -(void)textFieldDidBeginEditing:(UITextField *)textField

    {

        NSLog(@"begin editing");

    }

    设置是否允许结束编辑,默认是yes

    -(BOOL)textFieldShouldEndEditing:(UITextField *)textField

    {

        要求用户输入的内容必须大于6个字符,否则不允许结束

        if(textField.text.length<6){

            return NO;

        }else{

            return YES;

        }

    }

    当用户结束编辑时调用此协议方法

    -(void)textFieldDidEndEditing:(UITextField *)textField

    {

        NSLog(@"did end editing");

    }

    设置是否允许清空按钮清空内容,默认是yes

    -(BOOL)textFieldShouldClear:(UITextField *)textField

    {

        return YES;

    }

    设置是否允许响应用户单击return,默认是yes,可以在此协议方法中实现隐藏键盘,隐藏键盘方法三

    -(BOOL)textFieldShouldReturn:(UITextField *)textField

    {

        [textField resignFirstResponder];

        return YES;

    }

    用Category中的方法将gif动态图片转换为UIImage对象,需要引用自定义地第三方库

    UIImage *image=[UIImage animatedImageWithAnimatedGIFURL:[[NSBundle mainBundle]URLForResource:@"FlagZombie" withExtension:@"gif"]];

    UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

    imageView.image=image;

    [self.window addSubview:imageView];

    http://www.cnblogs.com/PaulpauL/ 版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    asp.net
    深度优先遍历
    计算机存储体系
    CPU 进程 线程 关系与区别
    OLAP、OLTP的介绍和比较
    几种消息队列对比
    协议那些事(四)
    协议那些事(三)
    协议那些事(二)
    协议那些事(一)
  • 原文地址:https://www.cnblogs.com/PaulpauL/p/4847561.html
Copyright © 2011-2022 走看看