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

iOS开发(4)UITextField

2014-04-07 14:52 232 查看
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一个很重要的部分就是如何去监听键盘在屏幕的高度,因为很多时候我们整个输入框弹起来的时候会遮住其他一些图像。下一节将介绍一下键盘的通知。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: