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/ 版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:https://www.cnblogs.com/PaulpauL/p/4847561.html