ios-UITextField-常用方法

这个控键最好用的就是代理,再用代理之前必须给这个控键设置一个代理

 _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是一样的,不过貌似这个是处理大文本的,应用场景应该是可以显示小说吧
1.这里只记录一些学习笔记 2.这里只记录一些学习心得,如果心得方向有错,请留言 2.这里只记录一些日记(只为提升英语,暂时有点忙,等转行了开始写)
原文地址:https://www.cnblogs.com/liyang31tg/p/3644217.html