您的位置:首页 > 产品设计 > UI/UE

ios-UITextField-常用方法

2014-04-03 23:41 363 查看
这个控键最好用的就是代理,再用代理之前必须给这个控键设置一个代理

_textfield.delegate=self;//这是设置代理的方法

以下是协议
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
NSLog(@"textFieldShouldBeginEditing");
return YES;
}        // 返回yes表示此控键可以接受编辑,才会调用下面这个方法,反之,返回no就不会调用下面这个方法
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"textFieldDidBeginEditing");
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{
NSLog(@"textFieldShouldEndEditing");
return YES;
}          // 返回yes才会失去第一相应,就是键盘可以消失,也就意味着会调用下面的方法,反之就不会,
- (void)textFieldDidEndEditing:(UITextField *)textField{
NSLog(@"textFieldDidEndEditing");
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSLog(@"%@%@",NSStringFromRange(range),string);
return YES;
}//这个方法是相当于java的change事件,每次改变都是内容都会输出改变的那个字符string,range表示此字符所处的位置

- (BOOL)textFieldShouldClear:(UITextField *)textField {
NSLog(@"textFieldShouldClear");
return YES;
}             // 表示这个文本域是否可以清除,就是看后面有没有哪个小x标示,这个测试没有成功,应该是版本不一样

tf.clearButtonMode=UITextFieldViewModeWhileEditing;//上面这个方法的作用是,点击编辑文本后面的小x的时候会调用,就是清除的时候

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
[textField resignFirstResponder];
return YES;
}//这个就是按键盘上的return的时候会触发的方法,返回yes和no有什么不一样,也没有测试出来

[textField becomeFirstResponder];//获得第一响应
[textField resignFirstResponder];//失去第一响应


UITextField *field= [[UITextField alloc]init];
field.frame=CGRectMake(10, 30, 300, 30);
field.borderStyle=UITextBorderStyleRoundedRect;
field.backgroundColor=[UIColor orangeColor];
field.placeholder=@"请输入密码";//提示文本
field.secureTextEntry=NO;//将此文本设置为密文输入,就是常用的输入密码
field.keyboardType=UIKeyboardTypeDefault;//设置键盘样式
field.keyboardAppearance=UIKeyboardAppearanceAlert;//设置键盘风格
//设置弹出视图
UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 100, 320, 100)];
view.backgroundColor=[UIColor purpleColor];
// field.inputView=view;//设置弹出视图,这个就会覆盖键盘,这个视图我们可以自定义键盘

UIView *leftview=[[UIView alloc]initWithFrame:CGRectMake(0, 100, 100, 100)];
leftview.backgroundColor=[UIColor purpleColor];
field.leftViewMode=UITextFieldViewModeWhileEditing;
field.leftView=leftview;//这个就是占据文本框,同理也有又视图

field.clearButtonMode=UITextFieldViewModeWhileEditing;//设置清除按钮出现模式,就是编辑的时候后面的小XX

field.clearsOnBeginEditing=YES;//重新获得第一响应的是否清空上次输入的东西

field.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;//设置纵向对齐

field.contentHorizontalAlignment=UIControlContentVerticalAlignmentCenter;//横向对齐方式

field.textAlignment=NSTextAlignmentCenter;//文本的对齐方式

field.adjustsFontSizeToFitWidth=YES;//字号匹配文本多少,当文本太多回缩小自体。直到最小,然后才滚动

field.autocapitalizationType=UITextAutocapitalizationTypeWords;//大小写控制,这个模式就是单词首字母大写

field.returnKeyType=UIReturnKeyYahoo;//设置return键的样式

field.delegate=self;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dddd:) name:UITextFieldTextDidBeginEditingNotification object:nil];//通知,开始编辑的时候会调用这个方法,但是这里有个疑惑的就是,当有多个文本框的时候也会调用吧


UITextView *textview=[[UITextView alloc]initWithFrame:CGRectMake(0, 100, 320, 200)];//这个控键,大意和uitextfield是一样的,不过貌似这个是处理大文本的,应用场景应该是可以显示小说吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐