iOS开发(4)UITextField
UITextField是UI控件中的文本输入框控件,拥有自己的代理可以监听用户输入的数据。
//创建一个UITextField
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)];
//外框类型
[textField setBorderStyle:UITextBorderStyleRoundedRect];
//默认显示的字
textField.placeholder = @"input";
//输入的内容是否保密 主要用于密码输入
textField.secureTextEntry = NO;
//自动校正样式
textField.autocorrectionType = UITextAutocorrectionTypeNo;
textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
//return按钮的样式
textField.returnKeyType = UIReturnKeyDone;
//编辑时会出现个修改X 点击后会清空内容
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
//下次输入时是否清空上次的内容
textField.clearsOnBeginEditing = NO;
textField.delegate = self;//设置代理
下面介绍一下UITextField的代理
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"开始编辑时会走这个方法");
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"结束编辑时会走这个方法");
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
NSLog(@"是否可以开始编辑");
return YES;
}
//隐藏键盘
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//return之前让textfield通过下面方法失去第一响应者,也就是隐藏键盘
[textField resignFirstResponder];
return YES;
}
//限制输入文本的长度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//这里可以对输入框输入的内容增加限制
NSLog(@"%d ,%d",range.location,range.length);
NSLog(@"%@",string);
if (range.location >= 20)
return NO;// return NO to not change text
if ([string isEqualToString:@"d"])
return NO;
return NO;
}
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
return NO;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
// textField.text = @"";
return YES;
}
关于TextField一个很重要的部分就是如何去监听键盘在屏幕的高度,因为很多时候我们整个输入框弹起来的时候会遮住其他一些图像。下一节将介绍一下键盘的通知。
总结
以上是生活随笔为你收集整理的iOS开发(4)UITextField的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: IOS开发调用系统相机和打开闪光灯
- 下一篇: iOS开发(5)动态监听键盘通知