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是一样的,不过貌似这个是处理大文本的,应用场景应该是可以显示小说吧